タグ

2014年1月20日のブックマーク (2件)

  • LINQの拡張メソッド一覧と、ほぼ全部のサンプルを作ってみました。 - 地平線に行く

    C#のLINQメソッドは超便利!!、なんですが…肝心のAPIがわかりづらいです。 そこで、種類ごとにまとめて、簡単なサンプルを書いてみました。 結果の表示に、独自の拡張メソッド ToResult(this IEnumerable) を使用しています。このメソッドは、文の最後に記載しています。 サンプルコードのダウンロードはこちら。 要素の取得(単一) メソッド名 機能 ElementAt ElementAtOrDefault 指定した位置(インデックス)にある要素を返します。 First FirstOrDefault 最初の要素を返します。 Last LastOrDefault 最後の要素を返します。 Single SingleOrDefault 唯一の要素を返します。該当する要素が複数ある場合、例外をスローします。 該当の要素がない場合は… 「〜OrDefault」が付いていないメソッ

    LINQの拡張メソッド一覧と、ほぼ全部のサンプルを作ってみました。 - 地平線に行く
    midori44
    midori44 2014/01/20
  • メモ置き場: [VB.NET] LINQ to DataTable のDistinct を検証してみた

    匿名形とかクラス内の複数のプロパティで何かやりたいって場合は、メソッド式は避けた方がいいんだろうか。 「IEqualityComparer」クラスの書き方が悪い可能性は大いにありえるけども、「IEqualityComparer」をわざわざ作らないといけないのは面倒。 データ数が少ない場合は、DataRow.ToTable の方がわずかに早いけど、行数が多くなるとLinq のクエリ式の方が早くなる。また、コードの可読性もLinq のクエリ式の方が良い。 Linq のGroupBy だと他にもグループの件数やら最大値・最小値なんかも持ってこれるみたいだし、Linq はできる子みたい。 Distinct とGroupBy の使い分けは、可読性も良いしDistinct で足りる時はDistinct で良いと思う。 注意点としては、Linq のクエリ式の特徴でクエリを宣言したときではなく、