mieki256's diary



2015/06/16(火) [n年前の日記]

#2 [prog] C#の勉強中

C# の List についてちょっと勉強。なんだか色々な書き方ができるようで。

例えば、ForEach を使ってループを作れたり。
foreach (ObjData o in objs)
    o.selected = fg;
は、
objs.ForEach(o => o.selected = fg);
と書けたり。

ただ、速度はちょっと遅くなるという話も見かけたり。C#のバージョンが上がったことで、そのあたり変わってる可能性もありそうだけど。

それと、複数の行を書く方法が分からない…。ググっても「foreach」がヒットしちゃうし。

List の最初、List の最後を取得するメソッドもあるようで。list.First() とか list.Last() とか。ただ、VisualStudio 上で補完に出てこない時があって…。自分の書き方が何か間違ってるのだろうか…。

Where や Select、FindAll 等も知ったり。条件を満たす項目?だけの List() を作れたりするらしい。ただ、やっぱり速度が、という話もあるようで。

他に LINQ とやらも知ったけど、初心者なのでメリットが分からず。

ただ、特定言語の、特定の書き方に慣れないほうがいいかもな、というところも…。他の言語に移った時に、アレがないとかコレはどう書くんだとか悩むことになるし…。

First()やLast()について。 :

_ジェネリックコレクション その1 List (System.Collections.Generic) - Programming/.NET Framework/コレクション - 総武ソフトウェア推進所 で、
ListにはFirstやLastといった最初の要素・最後の要素を参照するプロパティは用意されていません。

ジェネリックコレクション その1 List (System.Collections.Generic) - Programming/.NET Framework/コレクション - 総武ソフトウェア推進所 より

と書いてあった。

テスト用に書いた別のソースでは使えてるのだけど、どうしてそちらは使えてしまっているのだろう…。List<>じゃなくて違う何かになってしまっているのだろうか。

あ。分かった。テスト用のソースは、using System.Linq; が書いてあった。それで使えていたのか…。

使えない理由が分かったなら問題無し。使えないこと前提で書けばいいよなと。

以上です。

過去ログ表示

Prev - 2015/06 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project