雑記 - otherwise

最近はDQ10しかやっていないダメ技術者がちまちまと綴る雑記帳

C#

Int32 における IsNullOrEmpty

Int型のNullOrEmptyチェック ( C# と VB.NET の質問掲示板) ネタ元は「 Int32 型は null にならないからチェック不要」で終了していますが、弁士さんが「 Nullable 型で無い限り」と書いている通り、 Nullable 型の場合は null になり得ます。 尤も、 int …

Visual Studio 2010 Express for Windows Phone を入れてみました

Windows Phone の開発環境を入れて試してみました。 XAML エディタのウィンドウ分割方向が違ったのでちょっとビックリしました。 まぁ、最初は戸惑うけどそのうち慣れるでしょう。 とりあえずテンプレートのコードをちょこっといじって M-V-VM で書いてみま…

DateTimeFormatInfo.DayNames

C#

曜日の文字列を列挙したい ( C# と VB.NET の質問掲示板) CultureInfo.CurrentCulture.DateTimeFormat.DayNames でカレントカルチャの曜日文字列リストが取得できるんですね。 知りませんでした。 メモメモっと。

インスタンスメソッドで null チェック

C#

「 String.IsNullOrEmpty をインスタンスメソッドとして呼び出す」的な話を Twitter 上で見かけたので、拡張メソッドを使ってやってみました。 public static class StringExtensions { public static bool IsNullOrEmpty(this string target) { return Stri…

DLR は難しい

C#

ちょっと空いた時間を使って DLR のお勉強をしてみたりしているんですが、 VS2010RC での DLR 実装の仕方がよく判らなくて苦戦しています。 まずは VS2008 + IronPython 辺りで慣れてみる方が賢明かもしれない。。。

ループを使わずに配列の順序を逆にする

C#

ホワイトボードプログラミング (R.Tanaka.Ichiro's Blog) 反転...ですかー (東方算程譚) ループなしで、配列の順序を逆にする (いや、まだだから) やまださんのコードを見て、ふと思いついたので書くだけ書いておこうと思います。 ……ネタにすらならない…

dynamic って匿名型にも使えるんですね

C#

C# 4.0 で追加される dynamic については、いまいちよく判らなくて全然さわれていないのですが、 MSDN の「連載! とことん C# 」の第 8 回で興味深い記載があったのでちょっと試してみました。 class Foo { static dynamic Hoge() { return new { Name = "…

BitVector32 構造体

C#

きっと MCP 試験対策の間しか覚えていないし使う事もなさそうな機能シリーズw System.Collections.Specialized.BitVector32 なんてのがあるんですね。 using System; using System.Collections.Specialized; class Foo { static void Main() { // false の …

スレッドセーフかつディスパッチャセーフなObservable Collection

C#

WPFのためにスレッドセーフかつディスパッチャセーフなObservable Collectionを書く (ブラッドオレンジニュース) Thread-Safe & Dispatcher-Safe Observable Collection for WPF (ButtonChrome.com) なるほど、これは参考になります。 ObservableCollectio…

.NET Framework 2.0 の仕様を再確認中

MCP70-553 再受験に向けて、 .NET Framework 2.0 の再学習を開始しました。 過去の受験結果から、どうにも Windows Forms の分野が一番苦手(ってか範囲が広くてカバーし切れていない)っぽいので、その辺りを重点的に。 ……最近、 WPF とか Silverlight とか…

Tuple のパラメータ名

C#

ネタ元はよこけんさんの記事への aetos さんのコメント。 # 元記事とずれる話だったのであえてコメントではなく自分の blog で。 C# 4 で Tuple を使う際によく気になるのが、 Item1, Item2, ... と云うパラメータの名前なんですよね。 これ、コーディングの…

わんくま同盟東京勉強会 #38 LT アフターフォロー - カウントダウンタイマー

ってことで、だいぶ遅くなりましたが LT で作ったカウントダウンタイマーの紹介をしておきます。

ToList したワケ

C#

LINQ における ToList メソッド (Ito Blog) 指摘されたので、一応言い訳がましいコメントを。 伊藤さんが書かれている話は知っていますし、私も IEnumerable なオブジェクトに対してメソッドチェーンを使う際にいちいち ToList() はしないです。(遅延評価が…

文字列の行数をカウントする

No.44461 文字列の行数 ( C# と VB.NET の質問掲示板) Split で分割してみないと判らないってのは面倒だなぁと思ったので、 Split 以外の方法で。 ……似た様な方法ではあるけど。 :p class WankumaBbsNo44461 { static void Main() { var input = "この文字…

Visual Studio 2010 Beta 2 日本語版で Oslo Library Project を作成する方法

SQL Server Modeling November 2009 CTP をインストールすると、 Oslo MVC Web Application プロジェクトが追加されるのは以前書いた通りですが、 WPF などでも使えないのかなと思ったら、ファイルテンプレートの問題への対処と同じことをすればよかったみた…

System.Console.Out.NewLine って上書き可能なんですね

C#

ジャッジメントですの! (in the box) NewLine プロパティ ( MSDN .NET クラスライブラリ) System.Console.Out.NewLine って上書きできるんですね。知らなかったです。。。 ってことで、早速やってみました。 class Foo { static void Main() { System.Con…

byte 配列を文字列に変換する

C#

元ネタは中さんの blog 記事。 元々は「指定ディレクトリ以下のファイルのハッシュ (MD5) を取る」サンプルコードですが、余計なところに目が行きました。。。 まずはオリジナルをコピペ。 class Program { static void Main(string[] args) { var pathname …

FizzBuzz 別解

C#

ふと思いついたので別解を書いてみた。 using System; using System.Globarization; public class FizzBuzzFormatInfo : IFormatProvider, ICustomFormatter { public object GetFormat(Type formatType) { if (formatType == typeof(ICustomFormatter)) { r…

FizzBuzz

C#

過去の記事を確認したら、 Blog では扱っていなかったみたいですね。(どこかに書いた記憶はあるんだけど……、どっかの掲示板だったかしら) なので、改めて私なりの回答を。 # ネタですよ。もし入社試験とかで出されたらこんな回答は出しません。素直にルー…

1 から 10 までを足してみる

C#

折角なのでこちらもやってみます。 TMTOWTDI*1 の実践。要は頭の体操です。 (ループを使った一般的なものは省略) static void Main() { Console.WriteLine(S(10)); } static int S(int n) { return n * (n + 1) / 2; } ……まぁ、よく知られた公式をそのまま…

1 から 10 までの積を求める

C#

今日から新しい現場に異動する関係で、ちょっとバタバタしていて blog 更新出来てません。。。 なので、ちょっと小ネタを。 わんくま Blog で「 1 から 10 までを足す」コードが盛り上がっていたので、対抗してこんなのを書いてみました。 var result = Enum…

1 と null の比較

C#

Twitter で「 C# で『 1 == null 』と云う比較演算を書くと、 warning は出るけどコンパイル可能。なんでだろう?」と云う話を見かけました。 これは、「 1 が null 許容型に暗黙的にキャスト可能」なのでコンパイルが通る、のだと思うのですが、 null 許容…

nullable な引数を持つメソッドをオーバーロードする場合の解決・番外編

C#

もう一個、このネタで引っ張ってみます。 :p C# 3.0 で拡張メソッドを使った場合はどうなるか。 public static class FooExtension { public static void Hoge(this Foo foo, short? a) { Console.WriteLine("short"); } } public class Foo { public void H…

更続・ nullable な引数を持つメソッドをオーバーロードする場合の解決

C#

nullableの引数を持つメソッドをオーバーロードする場合に、引数にnullを与えた時にコンパイルエラーにならない。 (The road to C# master trapemiya) nullable な引数を持つメソッドをオーバーロードする場合の解決 続・ nullable な引数を持つメソッドをオ…

続続・ nullable な引数を持つメソッドをオーバーロードする場合の解決

C#

nullableの引数を持つメソッドをオーバーロードする場合に、引数にnullを与えた時にコンパイルエラーにならない。 (The road to C# master trapemiya) コメントの中で aetos さんが提示されている例について考えてみようと思います。 前提 この例での引数は …

代入演算子の結合法則

C#

代入演算子の不思議 (R.Tanaka.Ichiro's Blog) # 本日も R さんからネタを拝借。 ^^; 普段、代入演算子を結合させる書き方はまずしないのでちょっと悩みました。 ……で、結局 C# 言語仕様を見てみる、と。 :p 「 7.16 代入演算子」と「 7.16.1 単純代入」に↓…

続・ nullable な引数を持つメソッドをオーバーロードする場合の解決

C#

nullable な引数を持つメソッドをオーバーロードする場合の解決 nullableの引数を持つメソッドをオーバーロードする場合に、引数にnullを与えた時にコンパイルエラーにならない。 (The road to C# master trapemiya) 何故「暗黙的な変換の原点」が採用される…

nullable な引数を持つメソッドをオーバーロードする場合の解決

C#

nullableの引数を持つメソッドをオーバーロードする場合に、引数にnullを与えた時にコンパイルエラーにならない。 (The road to C# master trapemiya) null 許容型の不思議 (R.Tanaka.Ichiro's Blog) どうやらこれは、「プリミティブ型が特別」なのではなく…

ラムダ式の変数スコープ:注意編

C#

ラムダ式の変数スコープ 続・ラムダ式の変数スコープ 続続・ラムダ式の変数スコープ 途中から内部の仕組みのネタに脱線しちゃいましたが、本線に戻して、ラムダ式を使う際にやっちゃいけないと思われることを幾つか挙げてみます。 ……ぱっと思いついたものの…

続続・ラムダ式の変数スコープ

C#

前の記事でかるあさんに指摘されてコメントした件について、改めて MSIL をみてみました。 まずは検証に使ったコードを書いておきます。(簡単なコードだったので、デザイナ部分を含めて全部直書きしました) using System; using System.Drawing; using Sys…