normalian blog

Let's talk about Microsoft Azure, ASP.NET and Java!

LINQ

「.NET開発テクノロジー入門 Visual Studio 2010対応版」の書評なんぞをしてみる

新年あけて早々のブログはWindows Azureデータセンタに関する話題だったが、新年2回目の更新は今をときめく書籍である「.NET開発テクノロジー入門 Visual Studio 2010対応版」についての紹介をしたいと思う。.NET開発テクノロジー入門 VISUAL STUDIO 2010対…

Twitter上で、Windows Azure ストレージについてのたまったスレ

下記で語っているWindows Azureストレージの話は、次のURLでの「おすすめコンテンツ」に全て書いてある。流石Microsoftと言わざるを得ない… http://msdn.microsoft.com/ja-jp/azure/cc994380.aspx まずはWindows Azure ストレージ Queueのお話だ! Windows A…

.NETのインターフェースの実装クラスはImplで終わらないのか?

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 さんから振られたお題を再確認中・・・。

C#でmap、filter、reduce

「Googleを支える技術」で?一躍有名になった感がするmap、filter、reduceですが、LINQ(C#)で対応させると以下になるんでしょか? 一般? LINQ(C#) map Select filter Where reduce Aggregate せっかくneueccさんがAggregateの良いサンプルを書いてくださっ…

GroupBy、OrderByを使ってみる

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>…

Zipを使ってみる

AsParallelと同じく、.NET4.0betaからの回し者Zipを使ってみた罠。 Haskellとかを使ったことのある人なら、メソッド名でイメージがつくんじゃないかと。では、コード例。 class Program { static void Main(string[] args) { var range1 = Enumerable.Range(…

AsParallelを使ってみる

せっかく.NET4.0 betaが入っているので、ついついAsParallelを使ってみるわな。 どうやら、LINQインターフェースに対して、AsParallel()を実行すると並列実行型のインターフェースにバインドされるらしい。 まずはサンプルコード using System; using System…

ToLookupを使ってみる

普段使っておきながら、結構使いどころを忘れる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クラスを使う方法で、具体的な使用例…

Repositoryパターンを使って書き直してみた

NHibernateのページにも載ってるRepositoryパターンを使い、上記の「Singleメソッドの意義」的なものを書き直したみた。メソッド名、クラス名ともに分かりやすくなったんじゃないかと思う。 class Program { public static void Main(string[] args) { FoodI…

LINQを使った検索(Singleの意義)

ナオキさん曰く、LINQ to EntityだとSingleメソッドがサポートされないらしい。悔しい気持ちを抱いたので、ささっと日記とLINQ to Objectを使った場合のコードを書いてみた。 まず、コードは以下だ! class FoodItemLogic { static private List<FoodItem> foodList = </fooditem>…

JLINQ(Java版)

今度はJava版のLINQを発見した。 しかし、こっちはどうも開発がとまっているくさいなぁ…。 LINQ自体は相当汎用的だけど、ベンダーに依存しない場合はLINQ to SQLとか死にそうだし、その影響かなぁ。 http://www.theserverside.com/news/thread.tss?thread_id…

jLINQ(JavaScript版)が存在していた

下記URLで JavaScript版のLINQを発見。うーん、好ましいアホがいる。 動作には jQueryが必要な模様。 http://www.hugoware.net/jLINQ

簡単にLINQメモ2

以下のメソッドを実行してみた。 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>…

簡単にLINQメモ

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>…