はなちるのマイノートスマートフォン用の表示で見るはなちるのマイノートUnityをメインとした技術ブログ。C#Tweetはじめに今回はLINQと要素のインデックスについて掘り下げてみる記事になります!以下のコードを少し見てみてください。};Debug.Log(names[1]);なんとなくやりたい事が分かると思いますが、コレクションの2番目の要素を出力しようとしています。残念、names[1]のような書き方をするとエラーが出てきてしまうんですよね。配列やリストなどはインデクサーと呼ばれる機能があるのでこれができるのですが、かならずしもコレクションにこの機能があるとは限りません。はなちるのマイノートこれについて少し掘り下げていきたいと思います。指定したインデックスの要素を取得するLINQにはElementAtというメソッドがあります。これで指定したインデックスの要素を取得することができます。//ももんじゃ配列のarray[1]とElementAt(1)は同じ番号を示すのでとても分かりやすいですね。ちなみに不正なインデックスが与えられたらデフォルト値を返してくれるElementAtDefaultというメソッドも存在します。インデックスを取得するつぎにこのコードをみてみてください。//1これは要素からインデックスを取得しています。LINQにはその機能はないみたいなので、少しだけ工夫が必要です。私が見つけたものはSelectメソッドのオーバーロードを用いて匿名クラスを作成してしまうという方法でした。//1結構長くなってしまいましたが、これでIndexOfと同様に用いることができます。さいごに私が聞いた限りではIEnumerableインターフェイスには要素の順序の概念がないと言われていましたが、LINQ(IEnumeralbeの拡張メソッド)を用いることで要素の順序を扱うことができてしまいました。これって実質順序の概念があるともいえると思うのですが、果たしてどうなのでしょうか・・・。今回はLINQ...突然ですがUnityオススメ記事20選!というサイトを作ったのでプチ宣伝。はてなブログProUnityをメインとした技術ブログ。(9)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。