C#
実際のところ、値型の場合の実装が( MSIL 上で)どうなっているのか興味が沸いたので調べてみました。 基にしたソースコードは以下。(伊藤さんの記事から拝借しました。 m(_ _)m ) class Foo { static void Main() { Action a; { var i = 10; a = () => C…
ラムダ式での上位スコープの保存 ( wa りと na はてな日記) 続続 ラムダ式での上位スコープの保存 ( wa りと na はてな日記) 興味深く読んでます。 ……が、なんか「続続」の方の例がいまいちな様な気がします。 そもそも、ラムダ式に於ける変数スコープの…
ここ数日、 Silverlight 3 を使ってみているのですが、タイトルに書いた話でずっと悩んでいます。 まぁ、そもそも何故 Silverlight 用の GridView が提供されていないのか、と云うのは置いておいて、どうレイアウトしてあげるのがいいのやら。 とりあえず Li…
Silverlight3での入力値検証 (かずきの Blog ) 入力検証に革命が (えムナウ Blog ) ここのところ、 WPF , M-V-VM , Silverlight 辺りのキーワードについて色々見ているのですが、わんくま Blog 界隈でこんな話が挙がっていたのでちょっと触ってみました…
ToLookupを使ってみる ( wa りと na はてな日記) ToLookup メソッドの存在を知らなかったので MSDN で調べてみました。 Enumerable.ToLookup メソッド (System.Linq) ( .NET Framework クラスライブラリ) ほうほう。 IEnumerable なコレクションをグルー…
Enumを二値扱いたかったりする。 (HIRASE CONNECTION WK) 気持ちは判らないでもないのですが、 Enum って「列挙」体だからなぁ。。。 要は、 Enum の演算子をオーバーロード出来れば話は早い( C# が否定演算子 (!) のオーバーロードをサポートしている)の…
シャッフル ( C# と VB.NET の質問掲示板) かき混ぜてはいかがでしょうか (東方算程譚) επιστημηさんの解法が目から鱗モノでした。 なるほど、シャッフルってこうやれば綺麗に書けるんですね。すごく勉強になりました。 って事で、より理解を深めるため…
せっかくなので、最初の課題の MSIL を読み解いてみたいと思います。 まずは、検証に使った C# コード(該当メソッドのみ)はこちら。 static void Main() { var i = 0; i *= ~i & 2 | 1 * (++i) - -(i--) ^ i; Console.WriteLine("i = {0}", i); } 続いて .…
R さんから課題を頂きましたので、やってみたいと思います。 まずはひとつめ。 var i = 1; i = 3 & ++i; これは、 increment, and, store になるはずなので、きっと i = 2 になると思います。 ……検証。 i = 2うん、正しいみたいですね。 一応、 MSIL でも in…
ちょっとしたクイズです (R.Tanaka.Ichiro's Blog) ちょっとしたクイズです(その2) (R.Tanaka.Ichiro's Blog) MSIL でチェックしたところ、違う結果が出ました。。。 以下、 R さんのコメントで違った点。 右辺の「 1 * 」のところは最適化で消えてしまう…
C# 言語 (msdn) C# の言語仕様書が欲しくて MSDN のサイトを探していたら、↑のページにたどり着きました。 ……なぜ 2.0 までしかリンクがないんだろう。 で、英語版を見ると、ちゃんと 3.0 へのリンクがある。。。 C# 3.0 の言語仕様書って 2008 年 1 月位に…
以下でOKです (R日記) R さんからツッコミが! おぉ、確かに IList の拡張メソッドを使うのだから char[] で十分でした。 いつもありがとうございます〜。 m(_ _)m って事で、改めて。 static string Convert4(string str) { return new String(str.TakeW…
以下について教えてください ( C# と VB.NET の質問掲示板) タイトルが不明確だとか、質問の仕方がなってないだとか、そう云った小言は全て省略して、ネタで書いてみました。 ……出来上がってみたらムダに長くて面白かったので、記事として残しておきます。…
何となく What's New in the .NET Framework 4 とかを眺めていて、 .NET Framework 4 に導入された Tuple についてチェックしてみました。( Google で検索しても扱っている記事があまり見当たらなかったので、備忘録として) とは言っても、まだ VS2010 も …
比較と代入の演算子 (R.Tanaka.Ichiro's Blog) 何か面白い事になってます。 ^^ 派生でこんな↓の試してみました。 var i = 1; var j = 0; Console.WriteLine((j = i++) == i); 見た目だと判りにくいですが、こんな感じで処理されるみたいです。(一応、 IL で…
最近、 P/Invoke で悩みすぎな気がする。。。 そもそも、 Win32 プログラムの経験がない人間にとって、 P/Invoke は非常にハードルが高いですよー。 ^^;; ……って、脱線した。以下、本題。 Oslo CTP のサンプルをいじっている中で、掲題の件に当たって悩んで…
string から特定のいくつかの文字を消去したい ( melpon日記 - C++すら(ry) System.Text.RegularExpressions を使えばいいかと。 var str2 = System.Text.RegularExpressions.Regex.Replace(str, " |\t|\r|\n", ""); // .NET だと "\s" が使えないのね…
通常、 C# では、クラス名と同名のメソッドは定義する事が出来ません。(コンストラクタとかぶってしまう為) VB ではこれが出来たりするんですが(コンストラクタを New と云う名のメソッドとして定義するから)、まぁ言語による制限だと諦めていました。(…
何度目の動き (Garbage Collection) なるほど〜。と感心しつつ、 foreach と Select で 2 回まわっちゃっているのがちょっとなぁ、と思ったので、別の方法を。 class Test { static void Main(){ LinkedList<string> name = new LinkedList<string>(); name.AddLast("福沢祐</string></string>…
使い捨てで書いたものだけど、我ながらかなりキモかったので晒してみる。 using System; using System.Net; using System.IO; using System.Windows.Forms; class ptl : Form { Timer timer; public ptl() { timer = new Timer() { Interval = 5000 }; timer…
Twitter で R.田中一郎さんがつぶやいていたのを見て、あまり確認せずに「 Attribute.GetCustomAttributes() で出来るのでは」と返してみたのですが、ちょっと気になったので手元でもやってみました。 ちょっと手間取ったので、備忘録もかねて記事にしておき…
少しずつ .NET Compact Framework 2.0 での Windows Mobile 向けアプリケーション開発の勉強などをし始めています。 とりあえず、簡単なタイマーの作成を最初の目標に掲げて頑張ろうと云う事で、色々調べていてちょっと気になったので備忘録として。 掲題の…
前回の記事で、VB 9.0 は拡張メソッドで自分自身を差し替えられる事を確認しました。 その原因は VB 9.0 が拡張メソッドを属性で定義しているためな訳なのですが、「この属性を使えば C# でも同じ事できるんじゃね?」って話がてくえどの雑談の中で挙がって…
三項演算子は上から評価される (R.Tanaka.Ichiro's Blog) 一瞬、何の話だか判りませんでした。条件演算子なんて普段滅多に使わないので。。。 考え方としては「上から評価される」で間違っていないけど、単に「上から評価」と言ってしまうと誤解を招く恐れが…
勝手にじゃんけん祭り (やじゅ@アプリケーション・ラボ わんくま支局) オブジェクトじゃんけん (東方算程譚) エピさんのコードにインスパイアされて、 C# で書いてみました。 using System; namespace Jp.Mkns.Wankuma.Yaju { enum HandName { G, C, P …
本当はもっと変なところに力を入れたやつを作成中なんだけど、期限に間に合うかとても不安なので、テスト用に作ったやつを先に載せておきます。 面倒だったので Visual Studio を使わずに全部秀丸で書いちゃいました。 一応、 C# 3.0 向け。 CountdownTimerL…
考えてみたら、 C# で TwitterClient クラスを作って PowerShell から LoadFile すればいいだけなんじゃ。。。 つまりは、 TwitterClient.dll とか作っておいて、 [Reflection.Assembly]::LoadFile($pwd.path + "\TwitterClient.dll") $twitter = New-Object…
ここのところ、仕事の合間に LINQ でちょこちょこと遊んでいたりします。 んで、先週末のわんくま同盟大阪勉強会 #20 のとりこびとさんのセッションでも取り上げられていた LINQ to XML を使って、はてなの RSS を取ってみました。 using System; using Syst…
LINQ は SQL との構文の違いが引っかかって、どうにも手を出す気になれずにいたんですが、いつまでも食わず嫌いでいる訳にもいかないので、本腰を入れて見てみました。 ……これ、無茶苦茶いいです。特に DB 房な私みたいな人間には最高かも。 サンプルコード…
……久々に、しかもかなり豪快に MSDN の日本語誤訳にしてやられました。 しかも、この件を調べたのは 1 年前。 それ以来、出来ないものと諦めていたのに、こんなオチって……、と云う感じです。 該当は以下の箇所。 このプロパティは読み取り専用です。フォーム…