気ままなUnityエンジニアブログ

新米Unityエンジニアが送る解説アウトプットブログです。Twitter : @UjinUnity

MENU

【C#】良く使う List と Linq 機能紹介

スポンサーリンク

今回は初心者向けです。

私が普段よく使っているListLinq機能を簡単にまとめてみました。

これからC#やるんだ〜って方の参考になれば嬉しいです。

ForEachは使用しないで

いきなり何事かと思ったかも知れませんが、LinqのForEachは使わない方がいいです。

理由としては 重いから 。

そのためLinqではなくC#標準のものを使用しましょう。

f:id:Wojtek:20190613085516p:plain

 

少し脱線してしまいましたが、ここからが本編スタートです。

 Where

f:id:Wojtek:20190613085159p:plain

分岐処理を担当します。

中身はifと同じです。

ソートするときに便利ですね。

Select

f:id:Wojtek:20190613085213p:plain

こちらはListの中身を別の型に変換します。

画像ではVector3を生成しています。

その他にも、listの中身を選択することもできます。

例えばPlayerクラスを使用していて、プレイヤーのHPを得たい場合はSelect(x => x.hp)と記入すれば、プレイヤークラスのhpを取得できます。

IndexOf

f:id:Wojtek:20190613085312p:plain

こちらは値が一致しているインデックスを取得します。

今回はListの中身が 0 のインデックスがとれますね。

一つ注意すべきところは、IndexOfは 先頭から検索するということです。

もし後ろから検索したい場合はLastIndexOf を使用してください。

Contains

f:id:Wojtek:20190613085340p:plain

こちらは英単語通り、Listに値が含まれているかをBool型で返してくれます。

条件分岐で使えますね。

Count

f:id:Wojtek:20190613085438p:plain

最後はCountです。

Listの要素数を取得できます。

例えば Listが初期状態なら飛ばす  処理を書くときは

If (list.Count > 0 ) 

    return;

この様な書き方ができます。

 

如何だったでしょうか。

Linqは他にも様々な機能があるため、是非ドシドシと使い倒してください!