C#のLinqのメソッド一覧 配列、リスト

【C# sharp】DataTable型をリストを用いたクラス化やタプル型にする方法!!

ChatGPTのAPIを使わずに自動化することが可能です。
下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。

今回のテーマ

今回の記事は下記の記事の続きです。まだ見てない方は是非みてくださいね。

こちらもCHECK

C# Sharp DataTable型にLinqを扱うためにAsEnumerableメソッドを使おう

ChatGPTのAPIを使わずに自動化することが可能です。 下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。 今回のテーマ ...

続きを見る

今回のテーマ

DataTable型の全データをリスト化する方法

前回の記事を読んで頂いた方、1つ疑問を持ちませんでしたか??

DataTable型の1項目しかリスト化できないじゃん!!ってことです。

確かに前回の記事の内容では1項目しかリスト化できません。

なので、今回の記事ではタプルを使用して、DataTable型の全てのデータをリスト化してみましょう!!

DataTable型の全てのデータをリスト化する

それではやっていきます!!ロボットテーブルに項目を4つ指定して、リスト化してみます。

下記のソースコードをみてください。

 出力結果
Rockman:Dr_Light:Blue:5
Rollchan:Dr_Light:Pink:1
Fireman:Dr_Wily:Red:3
Iceman:Dr_Wily:Red:4

リストとタプルを組み合わせて、DataTable型の全ての項目を出力することができましたね。

このようにリストとタプルを組み合わせることで、自由にLinqを使用することができます!

各項目を見やすくする為にタプルを修正

上記のようにタプルに各項目の値を設定すれば、DataTable内の全てのデータを

使うことはできるのですが、後のことを考えて下記のようにしたほうが良いと思います。

タプルの定義をvar型にすることをやめ、具体的に明示したほうが使用する時にミスが減ります。

Item1、Item2では何を指定しているか分かりにくいですからね。

少し長くなるけど、そこは頑張ってください。

サルモリ
頑張ってね!!

 出力結果
Rockman:Dr_Light:Blue:5
Rollchan:Dr_Light:Pink:1
Fireman:Dr_Wily:Red:3
Iceman:Dr_Wily:Red:4

ここまでは、DataTable型のデータをリストとタプルを組み合わせて変換しました!

ここからはDataTable型のデータをリストとクラスを組み合わせて、定義していきます!

DataTable型のデータとクラスの準備

前回と同様に列が4つあるテーブルを用意します。

こんな感じです。

 出力結果
Rockman
Rollchan
Fireman
Iceman

続けて、Robotクラスを下記のように定義します。DataTable型のデータを下記のクラスに設定できればOKです!

DataTable型のデータをリストに格納する

それでは、早速ロボット型を定義したリストに格納してみましょう。

 出力結果
Rockman:Dr_Light:Blue:5
Rollchan:Dr_Light:Pink:1
Fireman:Dr_Wily:Red:3
Iceman:Dr_Wily:Red:4

出来ました!ロボットクラスでデータを格納してあるので、ロボットクラス内で定義しているメソッドなども使い放題ですね!!

全体のプログラム

全体のプログラムは下記となります。ぜひ参考にしてくださいね。

まとめ

リストとタプルの組み合わせとクラスを定義してリストに格納する方法どっちを使うべきなのでしょうか。

私は、下記のように使い分けています。

使い分け方

  • リストとタプル リストに格納した後に一部分のソースコードでしか使用しない場合
  • クラスの定義  リストに格納した後に複数のソースコードで沢山利用する場合

場面場面で使用する方法を変えていけばいいと思います。

どちらの方法も使いやすい形に変えており、間違えではないのでバンバン使っちゃってくださいね!!

それでは、今回の記事は以上です。最後まで見て頂きありがとうございました。

サルモリ
最後までみてくれてありがとう!

 

 

 

 

 

-C#のLinqのメソッド一覧, 配列、リスト

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock