2007-11-01から1ヶ月間の記事一覧

りんくあそび

C#

LINQ の練習に WMI ネタとフィボナッチネタのバリエーションをいろいろ書いて試してますが、インテリセンスがついてくるのがスゴイですね。ときどきあるんですが、文法は正しいのに表示しなくなったら、一度ビルドすればまた表示してくれるようになります。 …

LINQ でフィボナッチ (危険)

C#

動いちゃったのでさらします。真似しちゃダメっぽいです。Max を大きくすると大変なことになります。 どう動いているのだろ(^^; 頭がついていきません…w using System; using System.Collections.Generic; using System.Linq; class Program { private cons…

C# と VB

http://www.google.com/trends?q=c%23%2C+VB&ctab=0&geo=all&date=all&sort=0日本だけは VB 大国? Redmond は C# にかなり偏ってるようですが。

LINQ で WMI その3

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出しとけばよかったのに…。日本語版だと直ってたりしないかと超期待。

LINQ パズル

C#

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 のイディオム その1 : Cast() と OfType()

C#

昨日の LINQ to Object コードが読めなくなる前に(^^; メモを少し書き散らしておきます。 IEnumerable を LINQ to Object で扱うには Cast() か OfType() で IEnumerable に変換する。古くからある非ジェネリクスなコレクションを LINQ で扱うには変換必須。…

LINQ to Object の資料

C#

LINQ だけで本が何冊も出てくると予想してますが、早く日本語の良い本が一冊欲しいなぁ。ITマスコミが LINQ の記事をあまり書かないのは、LINQ が何なんなのか理解されていないからっぽいですね。某所のクイズを見てそれ正解じゃないからとか思ったり。LINQ …

LINQ で WMI その2

C#

昨日の WMI の id:siokoshou:20071123#p2 って外部結合ってやつじゃね?と思って、全部そのまま LINQ にしてみました。苦労した。でもタノシイ。単に select の部分がこってるだけなのが不満。もっと遊んでしまいそうな気が…。 WmiWin32CacheMemoryMessages …

LINQ で WMI

C#

せっかくなので 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

C#

WMI 初めて使いました。MSDN の宇宙語っぷりにクラクラしたけど、宇宙仮面さんが解読済みだったので助かりました。ありがとうございます。Win32_CacheMemory の手抜きサンプル書いてみました。 値の意味の文字列はどっかから取れないのかなぁ。コピペして Ct…

object initializer は atomic

C#

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 }; 中途半端な状態は作ら…

拡張メソッドと null

C#

昨日は拡張メソッドの闇の面中心に書いたので、今度は光の面でも。 拡張メソッドの紹介記事によく出てくる string.IsNullOrEmpty() ですが、おもしろいことに気付きました。 using System; class Program { static void Main( string[] args ) { string a = …

拡張メソッドの字面が引き起こす混乱

C#

こちらは変換規則なんてややこしい問題ではないけど、字面が引き起こす混乱の例。 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…

if ( 拡張メソッド == インスタンスメソッド ) return ?

C#

前の記事を書いてからやっと気付いたけど(^^;、これはつまりインスタンスメソッドの動作をまねてるんですね。 もうちょっと調べてみました。ToString() の例はイマイチなので、別の例に差し替えます。 using System; class Program { static void Main() { B…

拡張メソッド != 静的メソッド

C#

C#3.0 の拡張メソッドの怖いお話。拡張メソッドと静的メソッドは構文の字面だけの違いで、ほかは同じだよと言われることが多いけど、実は違います。仕様書に書いてはあるけど、はっきり注意を喚起していないので。拡張メソッドの仕様はこちら。 念のため引用…

VS2008

あちこちで書かれてて、今さらですが出ましたね。 http://msdn2.microsoft.com/en-us/vstudio/products/aa700831.aspx.NET3.5 やソースコードや LINQ や WPF やらと賑やかですが、実は一番期待しているのは WinForm のデザイナがエラーを吐かないようになっ…

C# の親たち

C#

http://blogs.msdn.com/charlie/archive/2007/11/12/visual-c-team-picture-fall-2007.aspxid:siokoshou:20071111:p1 を貼っておいて、こっちを取り上げないわけにはいかないなっと。完成記念の集合写真でしょうか。blog でいつも読んでる方々のお顔が見れる…

EqualityComparer を覗いてみる

C#

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ってみた。はまりそう。ちょっと重いけど。なぜかときどき表示されないこともあるけれど、おもちゃのアヒルなので。

Win32manifest

C#

http://msdn2.microsoft.com/ja-jp/library/bb545961(VS.90).aspx manifestがつけれるようになるみたい。#読みづらいので修正。

Visual Studio 高速化

via http://weblogs.asp.net/scottgu/archive/2007/11/01/tip-trick-hard-drive-speed-and-visual-studio-performance.aspx長いのでほとんど読んでませんが(^^;、よいハードを使えば速くなるよと。特にハードディスクの効果が大きいよと。価格.comでノート用…

デバッグ技 : .ini ファイルによる JIT コンパイラ制御

C#

NyaRuRuさんが書いていた 64bit CLR の話とほとんどかぶっているネタですが、JIT コンパイラを制御するデバッグ技が紹介されていたので勝手に抜粋翻訳。via Scott Hanselman's ComputerZen.com Release IS NOT Debug: 64bit Optimizations and C# Method Inl…

XmlSerializer の実行時コード生成を止める方法

C#

id:siokoshou:20071103:p2 の続き。List を使ってたのをやめて配列にしてみたけど、やっぱりコードの自動生成&コンパイルは止まりません。しょうがないので、もう一度 WinDbg で止めて生成したコードを眺めてみると、ArrayOfHoge という、ユーザ定義 Hoge …

XmlSerializer をもうちょっと

C#

XmlSerializer を数箇所で使ってて、Hoge.XmlSerializers.dll を用意してやる前は起動時に2つコードを生成してました。 SGen で Hoge.XmlSerializers.dll を用意してやったらこれがなくなるハズ、だったんですがまだ一つ生成してます…。もしかしたら XmlSeri…

XmlSerializer が生成したコードを取得してみた

C#

.NET で XML の読み書きするのに一番簡単なのはおそらく XmlSerializer。でも、こいつは自動でコードを生成して、コンパイルして、やっと読み書きができるので遅いのが難点です。これでも早くしたそうなので、昔はリフレクションしてたのかな?ついでに日本…