LINQ
新年あけて早々のブログはWindows Azureデータセンタに関する話題だったが、新年2回目の更新は今をときめく書籍である「.NET開発テクノロジー入門 Visual Studio 2010対応版」についての紹介をしたいと思う。.NET開発テクノロジー入門 VISUAL STUDIO 2010対…
下記で語っているWindows Azureストレージの話は、次のURLでの「おすすめコンテンツ」に全て書いてある。流石Microsoftと言わざるを得ない… http://msdn.microsoft.com/ja-jp/azure/cc994380.aspx まずはWindows Azure ストレージ Queueのお話だ! Windows A…
Javaの文化と.NETの文化では、例えば以下の様に色々とネーミングルールが異なります。 分類 Java .NET インターフェース 特になし 頭にIをつける(IFilterとか?) 実装クラス 最後にImplつける(SmpServiceImplとか?) 特になし(と思ってた!!) しかしまぁ、…
以前書いた記事、「続 ラムダ式の上位スコープ保存」について、 id:karuakun に突っ込みを頂いたので今更返答をば。 突っ込み頂いた内容について考察してみたりします。まずは頂いたコード例は以下。 IList<Action> list3 = new List<Action>(); for (int i = 0; i < 3; i++)</action></action>…
id:karuakun さんから振られたお題を再確認中・・・。
「Googleを支える技術」で?一躍有名になった感がするmap、filter、reduceですが、LINQ(C#)で対応させると以下になるんでしょか? 一般? LINQ(C#) map Select filter Where reduce Aggregate せっかくneueccさんがAggregateの良いサンプルを書いてくださっ…
DTOリストの中から年齢最少の幼女を抜き出すサンプル。 ちょっと走り書きしてみた。 using System; using System.Collections.Generic; using System.Linq; using System.Text; class Program { static void Main(string[] args) { IList<SmpDto> list = new List<SmpDto>(ne</smpdto></smpdto>…
AsParallelと同じく、.NET4.0betaからの回し者Zipを使ってみた罠。 Haskellとかを使ったことのある人なら、メソッド名でイメージがつくんじゃないかと。では、コード例。 class Program { static void Main(string[] args) { var range1 = Enumerable.Range(…
せっかく.NET4.0 betaが入っているので、ついついAsParallelを使ってみるわな。 どうやら、LINQインターフェースに対して、AsParallel()を実行すると並列実行型のインターフェースにバインドされるらしい。 まずはサンプルコード using System; using System…
普段使っておきながら、結構使いどころを忘れるToLookupメソッドなどを書いてみる。以下がサンプルコード&実行結果。 public static void Main(string[] args) { List<int> intList = Enumerable.Range(1, 6).Concat(Enumerable.Range(1, 4)).ToList(); List<string> str</string></int>…
ラムダ式はローカルスコープの変数値を保存していると聞いたので試してみた。コード例は以下。 public class LambdaFactory { private static int x = 0; static public Func<int> Create() { //あえてここでローカル変数に代入 int y = ++x; return () => y; } }</int>…
C#でループをまわすと言うと、以下の二パターン位がぱっと思いつく手法? for(i=0; i foreach( var val in collection ) でくるくる? 最近、別の解法もある事を知ったので簡単にメモ。何を使うかというと、System.Arrayクラスを使う方法で、具体的な使用例…
NHibernateのページにも載ってるRepositoryパターンを使い、上記の「Singleメソッドの意義」的なものを書き直したみた。メソッド名、クラス名ともに分かりやすくなったんじゃないかと思う。 class Program { public static void Main(string[] args) { FoodI…
ナオキさん曰く、LINQ to EntityだとSingleメソッドがサポートされないらしい。悔しい気持ちを抱いたので、ささっと日記とLINQ to Objectを使った場合のコードを書いてみた。 まず、コードは以下だ! class FoodItemLogic { static private List<FoodItem> foodList = </fooditem>…
今度はJava版のLINQを発見した。 しかし、こっちはどうも開発がとまっているくさいなぁ…。 LINQ自体は相当汎用的だけど、ベンダーに依存しない場合はLINQ to SQLとか死にそうだし、その影響かなぁ。 http://www.theserverside.com/news/thread.tss?thread_id…
下記URLで JavaScript版のLINQを発見。うーん、好ましいアホがいる。 動作には jQueryが必要な模様。 http://www.hugoware.net/jLINQ
以下のメソッドを実行してみた。 Unionメソッド Concatメソッド Intersectメソッド List<int> list1 = new List<int>() { 1, 2, 3, 4, 3, 2, 1 }; List<int> list2 = new List<int>() { 3, 4, 5, 6, 5, 4, 3 }; Console.WriteLine(string.Join(",", list1.Concat(list2).Select(n</int></int></int></int>…
Exceptと Where句の違い ExceptとWhereは、どちらもリストから要素を抽出するメソッドだ。メソッドの概要は似ているが、振る舞いが若干違うので備忘録としてメモする。 List<int> list1 = new List<int>(){ 3, 8, 5, 3, 30, 24 }; List<int> list2 = new List<int>(){ 30, 24 }; </int></int></int></int>…