Linq ファイルの読み込み書き込み

C# Linq Xmlファイルの読み込んだ内容を保持する方法2選 匿名クラスで保持する方法とクラスを作成して保持する方法 Selectメソッドを使用すると簡単です。

今回のテーマ

こんにちは、かっぱちゃんです。今回のテーマはXmlファイルを読み込んだ後に内容を保持する方法を解説します。

下記の2つのやり方について、解説していきます。

Xmlの内容を保持する方法

  • 匿名クラスに内容を保持する方法
  • クラスを作成して内容を保持する方法

今回はLinqのSelectメソッドを使用した方法を紹介します。

Selectメソッドを使用すると、foreachなどを書かずに実現することが出来るので、1文で処理を書くことができます。

覚えておくと大変便利なので、ぜひXmlファイルを読み込む処理を書く場合は、LinqのSelectメソッドを使用することも検討してください。

今回は下記の記事の続きです。まだ読んでいない方は下記の記事から見ると、理解しやすいと思います。

こちらもCHECK

C# Linq Xmlファイルの読み込み方法 Root.Elementsを使用して、Linqも使用できる型にしよう。Load、Root.Elements

今回のテーマContents1 今回のテーマ1.1 今回使用するXml1.2 Xmlファイルの読み込み1.3 要素の取得1.4 Linqを組み合わせた例1.5 まとめ こんにちは、かっぱちゃんです。 ...

続きを見る

それでは、今回もやっていきましょう!!

KappaChan
Xmlの内容保持はSelectメソッドを使用するといいかっぱ!

今回使用するXmlファイル

今回読み込むファイルは下記のXmlファイルです。名前は「Robot.xml」で、プログラムと同様のカレントディレクトリに置いてます。

匿名クラスを作成して保持する方法

まずは匿名クラスを作成して保持するソースコードを書いていきます。

内容を匿名クラスに保持し、Xmlファイルの各要素、「name」、「maker」、「color」の内容を出力するソースコードです。

 出力結果
Name:Rockman Maker:Dr_Light Color:Blue
Name:Rockchan Maker:Dr_Light Color:Pink
Name:Fireman Maker:Dr_Wily Color:Red
Name:Iceman Maker:Dr_Wily Color:Blue
Name:Airman Maker:Dr_Wily Color:Blue

Selectメソッドで、匿名クラスの生成を行うことにより、各要素を分かりやすい形で出力することが出来ています。

Selectメソッドについてはこちら

こちらもCHECK

C# Linqの使い方。クラスを定義してSelectメソッドを使おう。

今回のテーマContents1 今回のテーマ2 今回使うクラスについて3 Linqメソッドの解説の流れ4 Selectの使い方5 複数個の属性を抜き出す方法6 まとめ こんばんは、かっぱちゃんです。 ...

続きを見る

ロボットリストに、「Name」、「Maker」、「Color」の変数を定義し、呼び出しています。

匿名クラスは、Selectメソッドで下記のようにnewの後に名前を指定しないことで生成できます。

次の紹介するクラスを定義する場合は、newの後にクラス名を指定することで生成できます。それでは見ていきましょう。

クラスを定義して内容を保持する方法

続けて、クラスを定義する方法です。まず、クラスを定義してあげましょう。

いつものRobotクラスで名前、開発者、色を保持するクラスです。Robotクラスはgetterとsetterを持っています。

上記のロボットクラスを使用してオブジェクトとして要素を取りだしてみましょう。

 出力結果
Name:Rockman Maker:Dr_Light Color:Blue
Name:Rockchan Maker:Dr_Light Color:Pink
Name:Fireman Maker:Dr_Wily Color:Red
Name:Iceman Maker:Dr_Wily Color:Blue
Name:Airman Maker:Dr_Wily Color:Blue

問題なくSelectメソッド内でRobotクラスを生成することができました。

匿名クラスを使用せずに行うメリットとしては、読み取った結果をメソッドの外側からも自由に取り出すことができます。

KappaChan
匿名メソッドを使ったときと同様の結果が得られたかっぱ!

因みにLinqのSelectメソッドを使用しない場合だと下記のようなソースコードとなります。

比較すると、Selectメソッドで何やってるか分かりやすいかもしれませんね。

 出力結果
Name:Rockman Maker:Dr_Light Color:Blue
Name:Rockchan Maker:Dr_Light Color:Pink
Name:Fireman Maker:Dr_Wily Color:Red
Name:Iceman Maker:Dr_Wily Color:Blue
Name:Airman Maker:Dr_Wily Color:Blue

まとめ

今回はXmlの内容を読み取り、内容を保持する方法を二つ紹介しました。

Selectメソッドを使用することで、簡単にできるのでぜひXmlを呼び出すときは検討してみてください。

最後まで記事を読んで頂き有難うございました。

KappaChan
最後まで読んでくれてありがとうかっぱ!

 

-Linq, ファイルの読み込み書き込み

X