質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

1回答

634閲覧

C# wim operationsystem 一覧のテキスト化

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2019/12/26 05:02

現在システム情報を取得して表示するところまではできました。
しかし、テキストファイルを作成してPCの情報を全て記入したいのですが、全ての情報を一つのテキストファイルにまとめる方法がわかりません。
string配列に全ての情報を入れることができれば順にテキスト化することはたぶんできると思うのですが、foreachはスコープが違うので配列に代入することができませんでした。取得したい情報を一つの配列にまとめる方法はありますか?
foreachを使っている以上難しいのであれば方法でも大丈夫です。

C#

1//wimを使う 2 System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_OperatingSystem"); 3 System.Management.ManagementObjectCollection moc = mc.GetInstances(); 4//情報を取得 5 foreach (System.Management.ManagementObject mo in moc) 6 { 7 System.Diagnostics.Debug.WriteLine("Caption=" + mo["Caption"].ToString()); 8 System.Diagnostics.Debug.WriteLine("serial=" + mo["SerialNumber"].ToString()); 9//......その他ビルド番号、シリアル番号など 10 } 11 12//そのほかにもCPUname取得 13 System.Management.ManagementClass mos = new System.Management.ManagementClass("win32_Processor"); 14 System.Management.ManagementObjectCollection momoc = mos.GetInstances(); 15 foreach (System.Management.ManagementObject mo in momoc) 16 { 17 System.Diagnostics.Debug.WriteLine("CPUNAME==" + mo["name"]); 18 } 19

試してみたことはstringの配列を生成してそこに追加する形を取ろうとしたところforeach内のデータを配列入れることができませんでした。スコープが違うため。

C#

1 string[] writefiles = new string[0]; 2 3 4 foreach (System.Management.ManagementObject mo in moc) 5 { 6 writefiles[0] ="Caption=" + mo["Caption"].ToString(); 7 System.Diagnostics.Debug.WriteLine("serial=" + mo["SerialNumber"].ToString()); 8//......その他ビルド番号、シリアル番号など 9 } 10 11 12

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YAmaGNZ

2019/12/26 05:40

例に挙げられている配列に入れるというのは、添え字[0]に上書きしているだけでスコープは全く関係ないかと思います。
guest

回答1

0

ベストアンサー

StringBuilderクラスを利用されてはどうでしょう?

投稿2019/12/26 05:24

YAmaGNZ

総合スコア10246

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/12/26 23:20

ありがとうございます。無事にできました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問