タグ

csharpとlinqに関するamberjack115のブックマーク (2)

  • C# LINQ Aggregate のオーバーロードの挙動を知る - Qiita

    そもそもAggregateとはなんぞや ある集合(IEnumerable<TSource>)に対して処理を通して1つの結果(TSource または TAccumulate)を受け取る集合系メソッドです。 要するに T[] があった時に T 一つひとつに何らかの処理を通して集計した結果を返す的なイメージでOK。 Haskellでいうfoldみたいな。 で、これを使う時3つほどオーバーロードがあるんですが、それぞれの挙動がちょっとだけ気になったので調べてみた。 オーバーロードについて public static TSource Aggregate<TSource>( this IEnumerable<TSource> source, Func<TSource, TSource, TSource> func) { return /* hogemoge */ } public static TAc

    C# LINQ Aggregate のオーバーロードの挙動を知る - Qiita
  • C#で解説する「データ処理の直交化と汎用化」(1/3) - @IT

    稿では、LINQ(Language Integrated Query)の生い立ちについての話をしてみたい。 LINQは、C# 3.0の目玉機能として、2005年夏に発表、2008年に初頭に製品化されたものである。製品化から数えてももう3年が過ぎたわけだが、いまだ誤解の多い機能だろう。LINQの一側面だけを見て、 O/Rマッパーの一種 C#やVB(Visual Basic)のコード中にSQL風のクエリを埋め込める機能 などといわれることもある。これは、一側面が見えているだけいいかもしれない。まれに、 if文やfor文が書ければ、プログラムは書ける C# 3.0/VB 9で何だかいきなり機能が増えすぎてもう付いていけない というような声さえ聞こえてくる。 しかし、そう身構えないでほしい。LINQが目指すものは実のところ単純で、「データ処理の直交化と汎用化」である。この考え方は何もLINQで初

  • 1