2007-11-01から1ヶ月間の記事一覧
LINQ の練習に WMI ネタとフィボナッチネタのバリエーションをいろいろ書いて試してますが、インテリセンスがついてくるのがスゴイですね。ときどきあるんですが、文法は正しいのに表示しなくなったら、一度ビルドすればまた表示してくれるようになります。 …
動いちゃったのでさらします。真似しちゃダメっぽいです。Max を大きくすると大変なことになります。 どう動いているのだろ(^^; 頭がついていきません…w using System; using System.Collections.Generic; using System.Linq; class Program { private cons…
http://www.google.com/trends?q=c%23%2C+VB&ctab=0&geo=all&date=all&sort=0日本だけは VB 大国? Redmond は C# にかなり偏ってるようですが。
id:siokoshou:20071124 のクエリーを少しだけスッキリさせてみた。 Func<object, Dictionary<int, string>, string> map = ( o, d ) => d == null ? o.ToString() : d[ ToInt( o ) ]; var query = from ManagementObject mo in ( new ManagementClass( "Win32_CacheMemory" ) ).GetInstances(</object,>…
VC#2008Express英語版入れて遊んでますが、ドキュメントのリンク切れがひどいですね…。RC出しとけばよかったのに…。日本語版だと直ってたりしないかと超期待。
http://www.infoq.com/news/2007/11/Functional-CSharp int[] b = Enumerable.Range( 1, 20 ).ToArray();Correct? using System; using System.Linq; class P { static void Main() { int[] a = new int[ 20 ]; for ( int x = 0; x < a.Length; x++ ) a[ x ]…
昨日の LINQ to Object コードが読めなくなる前に(^^; メモを少し書き散らしておきます。 IEnumerable を LINQ to Object で扱うには Cast() か OfType() で IEnumerable に変換する。古くからある非ジェネリクスなコレクションを LINQ で扱うには変換必須。…
LINQ だけで本が何冊も出てくると予想してますが、早く日本語の良い本が一冊欲しいなぁ。ITマスコミが LINQ の記事をあまり書かないのは、LINQ が何なんなのか理解されていないからっぽいですね。某所のクイズを見てそれ正解じゃないからとか思ったり。LINQ …
昨日の WMI の id:siokoshou:20071123#p2 って外部結合ってやつじゃね?と思って、全部そのまま LINQ にしてみました。苦労した。でもタノシイ。単に select の部分がこってるだけなのが不満。もっと遊んでしまいそうな気が…。 WmiWin32CacheMemoryMessages …
せっかくなので LINQ で。 using System; using System.Management; using System.Linq; class P { static void Main() { var query = from mo in ( new ManagementClass( "Win32_CacheMemory" ) ). GetInstances().OfType<ManagementObject>() from p in mo.Properties.OfType<PropertyData></propertydata></managementobject>…
WMI 初めて使いました。MSDN の宇宙語っぷりにクラクラしたけど、宇宙仮面さんが解読済みだったので助かりました。ありがとうございます。Win32_CacheMemory の手抜きサンプル書いてみました。 値の意味の文字列はどっかから取れないのかなぁ。コピペして Ct…
http://community.bartdesmet.net/blogs/bart/archive/2007/11/22/c-3-0-object-initializers-revisited.aspxオブジェクト初期化子って↓こういうやつね。 Customer c = new Customer() { Name = "Bart", City = "Redmond", Age = 24 }; 中途半端な状態は作ら…
昨日は拡張メソッドの闇の面中心に書いたので、今度は光の面でも。 拡張メソッドの紹介記事によく出てくる string.IsNullOrEmpty() ですが、おもしろいことに気付きました。 using System; class Program { static void Main( string[] args ) { string a = …
こちらは変換規則なんてややこしい問題ではないけど、字面が引き起こす混乱の例。 using System; class P { static void Main() { S a = new S { Val = 0 }; Console.WriteLine( a.Val ); // 0 a.Inc(); Console.WriteLine( a.Val ); // 1 a.ExtInc(); Conso…
前の記事を書いてからやっと気付いたけど(^^;、これはつまりインスタンスメソッドの動作をまねてるんですね。 もうちょっと調べてみました。ToString() の例はイマイチなので、別の例に差し替えます。 using System; class Program { static void Main() { B…
C#3.0 の拡張メソッドの怖いお話。拡張メソッドと静的メソッドは構文の字面だけの違いで、ほかは同じだよと言われることが多いけど、実は違います。仕様書に書いてはあるけど、はっきり注意を喚起していないので。拡張メソッドの仕様はこちら。 念のため引用…
あちこちで書かれてて、今さらですが出ましたね。 http://msdn2.microsoft.com/en-us/vstudio/products/aa700831.aspx.NET3.5 やソースコードや LINQ や WPF やらと賑やかですが、実は一番期待しているのは WinForm のデザイナがエラーを吐かないようになっ…
http://blogs.msdn.com/charlie/archive/2007/11/12/visual-c-team-picture-fall-2007.aspxid:siokoshou:20071111:p1 を貼っておいて、こっちを取り上げないわけにはいかないなっと。完成記念の集合写真でしょうか。blog でいつも読んでる方々のお顔が見れる…
EqualityComparer.Default とかすると比較子が取れるなんとも不思議なクラスですが、こんなふうになってるんですね(monoです)。自身を継承したクラスを強引に作ってる(^^;Equals メソッドで T のオブジェクトが null か判定しています。この部分は IL には b…
http://d.hatena.ne.jp/nishiohirokazu/20071110/1194687711時魔法は?
http://www.iunknown.com/2007/11/ironruby-talks.html
http://www.popfly.ms/users/siokoshou/NASA popflyってみた。はまりそう。ちょっと重いけど。なぜかときどき表示されないこともあるけれど、おもちゃのアヒルなので。
http://msdn2.microsoft.com/ja-jp/library/bb545961(VS.90).aspx manifestがつけれるようになるみたい。#読みづらいので修正。
via http://weblogs.asp.net/scottgu/archive/2007/11/01/tip-trick-hard-drive-speed-and-visual-studio-performance.aspx長いのでほとんど読んでませんが(^^;、よいハードを使えば速くなるよと。特にハードディスクの効果が大きいよと。価格.comでノート用…
NyaRuRuさんが書いていた 64bit CLR の話とほとんどかぶっているネタですが、JIT コンパイラを制御するデバッグ技が紹介されていたので勝手に抜粋翻訳。via Scott Hanselman's ComputerZen.com Release IS NOT Debug: 64bit Optimizations and C# Method Inl…
id:siokoshou:20071103:p2 の続き。List を使ってたのをやめて配列にしてみたけど、やっぱりコードの自動生成&コンパイルは止まりません。しょうがないので、もう一度 WinDbg で止めて生成したコードを眺めてみると、ArrayOfHoge という、ユーザ定義 Hoge …
XmlSerializer を数箇所で使ってて、Hoge.XmlSerializers.dll を用意してやる前は起動時に2つコードを生成してました。 SGen で Hoge.XmlSerializers.dll を用意してやったらこれがなくなるハズ、だったんですがまだ一つ生成してます…。もしかしたら XmlSeri…
.NET で XML の読み書きするのに一番簡単なのはおそらく XmlSerializer。でも、こいつは自動でコードを生成して、コンパイルして、やっと読み書きができるので遅いのが難点です。これでも早くしたそうなので、昔はリフレクションしてたのかな?ついでに日本…