雑記 - otherwise

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

C#

UWP アプリで Windows 10 Mobile のステータスバーの表示をカスタマイズする

またもや随分とご無沙汰になってしまいました。 実際、前回の記事を見たら 2014/12/10 とかになっていて、 2 年も書いていなかったという事に自分自身でも驚いているところです。(まぁ、その間に自社 blog に記事を書いたりもしていたので。。。) ……まぁ、…

BooleanToCollapsedConverter

※いんすぱいあーどふろむ Room. Metro#18でしゃべってきたよ (atelier:mitsuba) プロ生ちゃん CheckBox のつくり方 (高橋 忍のブログ) みつばたんの資料 (P62) にある様に、 1 つの画像の表示 / 非表示をチェックボックス(トグル)の On / Off に割り当て…

C# 5.0 で変わった事 - foreach の破壊的変更

C#

C# Advent Calendar 2012 12 日目、まもなく折り返しですね。 さて、 C#er としては参加しないわけにもいかないので、去年に続いて参加表明したものの、やっぱり去年同様、書くネタに困る訳です。。。皆、よくネタ見つかるなぁ、と。 ……で、ほとほと困ったの…

Windows store アプリでバインドのフォーマットを指定する

Windows store apps Advent Calendar 2012 6 日目です。 エントリーした時は、 1 ヶ月もあればひとつ位アプリを作ってみる時間も取れるだろうと思っていたのですが、予想以上に時間が経つのが早くて、結局ちゃんとしたアプリも作れぬまま順番がまわってきて…

16 進数文字列の処理

C#

ここのところお仕事過多な事もあって blog がちっとも更新出来ていません。。。 「 WebService から情報を取得するアプリケーションの作成」の 3 回目は手元で一生懸命原稿を書いているところです。今しばらくお待ちくださいませ><

ReactiveOAuth ではてなの OAuth 認証を利用するお話し

ネタ元:ReactiveOAuthではてなOAuth認証 (Neutral Scent) 個人的にも近い将来はてな OAuth を利用する予定があったので調べてみました。

C# ユーザ会 勉強会に参加してきました

もう 1 週間も経ってしまいましたが、先週行われた第 74 回 codeseek 勉強会 & 第 14 回日本 C# ユーザー会 勉強会に参加してきました。 当日は昨年の C# Advent Calendar の記事を中心に色々な技術談義を楽しむ事が出来ました。 ……で、本題。 ジャンケン大…

C# で音声認識

C#

あけましておめでとうございます。 旧年はオンライン・オフライン問わず、多くの方のお世話になりました。 今年も変わらずよろしくお願いいたします。 ……さて。 新年最初のネタは残念ながら(?) Windows Phone ではありませんでした。 :p

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

C#

先の記事でちょいと壮大な解釈ミスがあったので訂正記事を書かせていただきます。。。 ミスっていたのは数値リテラルに対する解釈です。なので、影響するのは (1), (2), (3), (7) になります。 この 4 件について、改めて以下に記載します。

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

C#

※ この記事の (1), (2), (3), (7) については解釈ミスがあったため追加記事を書きました。 気づいたらもう私の順番らしく。 って事で、本記事は C# Advent Calendar 2011 第 12 日目へのエントリー記事です。 ……とは云え、ここのところちっとも C# 言語関連…

T 型の配列から Dictionary へ変換する

C#

元ネタ:かずきの Blog@Hatena stringの配列からDictionary<string, string>への変換 stringの配列からDictionary<string, string>への変換 その2 stringの配列からDictionary<string, string>への変換 その3 久々にプログラム小ネタです。 # しかし、その3の方法は思いつかなかったなぁ。。。 # さすが ne</string,></string,></string,>…

Directed Acyclic Graph

渡る者の途絶えた橋 (東方算程譚) 理解するために自分なりに書き下してみるテストです。 ライブラリにしてみました。 DirectedAcyclicGraph.cs public static class DirectedAcyclicGraph { public static bool IsDAG<TItem>(List<Tuple<TItem, TItem>> deps) { // 作業用にリストをコ</tuple<titem,></titem>…

C# 10 周年を祝おう

C#

C# 10周年を祝う会をやりたい (++C++; // 未確認飛行 C @live.com) C# ユーザー会 懇親会 2010 夏 (ATND) C# 誕生からもう 10 年になるんですねー。 気づいたら、私が C# に出会ってからも 7 年経つ訳で。 時が経つのは本当に早いなぁ。 ……って事で、 C# ユ…

SQL の In 句の様な事を VB/C# で(ジェネリック編)

元ネタ:SQL の In 句の様な事を VB/C# で ……ただ単に String → T 化しただけですが。 VB Imports System.Runtime.CompilerServices Module GenericExtensions <Extension()> _ Public Function [In](Of T)(ByVal str As T, ParamArray ByVal params As T()) As Boolean R</extension()>…

SQL の In 句の様な事を VB/C# で

複数の値のどれかと一致するかどうかを調べたい ( C# と VB.NET の質問掲示板) つまり、まとめるとこう云う事ですね? VB Imports System.Runtime.CompilerServices Module StringExtensions <Extension()> _ Public Function [In](ByVal str As String, ParamArray ByV</extension()>…

カレンダークラスのイケテナイ仕様

C#

ちょっとやってみたい事があって、 System.Globarization.Calendar の派生クラス(正確には GregorianCalendar の派生クラス)を自前で作ってみました。 ……で、前に書いたやり方についてはうまくいったんですが、 CultureInfo.DateTimeFormat.Calendar にセ…

和暦日付で DateTime を初期化する

C#

DateTime って Calendar を指定して初期化できたんですね。知りませんでした。 var cal = new JapaneseCalendar(); var date = new DateTime(22, 6, 2, cal); // 平成 22 年(西暦 2010 年) 6 月 2 日 Console.WriteLine(date.ToString("yyyy/MM/dd")); 201…

String.IsNullOrWhiteSpace

IsNullOrWhiteSpace メソッド (R.Tanaka.Ichiro's Blog) .NET 4 で追加されたメソッドだそうですが。 これ本当に必要なのかなぁ。。。 クラスライブラリの説明を読む限り、IsNullOrEmpty + Trim().Length == 0 より「パフォーマンスがよい」となっていますけ…

Adorner を使ってコントロールでコントロールを修飾する

# 「 WPF で色々やってみている」こと第一弾w WPF では Adorner コントロールを使って、既存のコントロールを修飾する事が出来ます。 public class SampleAdorner : Adorner { public SampleAdorner(UIElement adornedElement) : base(adornedElement) { } …

Connect で提案していた機能が実装されるらしい

Action型の引数に記述した場合はメソッドスタブを作成出来る様にしてほしい (Microsoft Connect) 昨年末に Connect に登録した提案が、次期リリース版の Visual Studio (ってどのバージョンだろう ^^;; )に実装されたそうです。 じみーな内容ですが、これ…

仕事の裏で OAuth

C#

休日出勤してお仕事しているわけですが、その裏で OAuth のサンプルなんかを作っていたりします。 あちこちでミスをして 4 時間ほどかかりましたが、ようやく twitter 相手に OAuth で認証してタイムラインを取得するサンプルは出来ました。。。 あとで時間…

安全な using ステートメント

C#

GenericなメソッドやクラスではIDisposableなクラスのサポートを忘れないようにしよう (かずきの Blog@Hatena ) More Effective C# 私もなるほどなーと思いました。 class Foo { // IDisposable を実装していない public void Hoge() { Console.WriteLine(…

自宅 PC に Visual C# 2010 Express インストール

C#

Microsoft Visual Studio Express とりあえず VS2010 RC をインストールしてある環境はそのまま残したかったので、メイン PC に Express Edition をインストールしてみました。 落ち着いたら、時間を作って触ってみたいと思います。<ちょっと弱気

ジェネリックの型パラメータに dynamic を指定する

C#

……これ、出来るんですね。 class SampleA { public string Some() { return "SampleA.Some()"; } } class SampleB { public string Some() { return "SampleB.Some()"; } } class SampleC { public string Some() { return "SampleC.Some()"; } } class Foo …

dynamic を使ってちょっと遊んでみた

C#

ダックタイピング的な何か。 ……コンパイル時チェックが走らないからバグの温床になりそうな気はするけど。 :p // A, B, C はともに Some() メソッドを持っている // でもそれぞれにつながりはない(インターフェース継承とかはしていない) class SampleA { …

Moq

C#

Moq.dll (まめしば雑記) 俺も Moq.dll を使ってみる 以前、割と普通さんのところで話題にのぼった際にちょこっとだけ見た記憶はあったのですが、しばやんさんが話題にしていたので改めて気になりました。 # なので、備忘録メモ。。。 正直、まだ使いどころ…

ジェネリックの型制約

C# の場合、ジェネリック宣言で型パラメータに制約を付ける際は、 public void Hoge<T>(T value) where T : IComparable<T> { ... } の様に、 where 句を使って宣言します。 一方、 VB の場合は、 Public Sub Hoge(Of T As IComparable(Of T))(ByVal value As T) .</t></t>…

継承クラスに対して親クラスで定義された static プロパティを更新する場合の影響範囲

C#

今まで動きを勘違いしていた(と云うかちゃんと認識出来ていなかった)のでメモ。 親クラスで定義された static プロパティについて、継承クラスに対して値をセットすると、親クラス側(とその親クラスを継承している別のクラス)の値も更新されるんですね。…

C# の入門書

C#

拙著:「かんたんC#」のご紹介 (Ito Blog) C# MSMVP の伊藤さんが C# の初学者〜中級者向けの書籍を出されるそうです。 これから C# を学ぶ方、今まさに C# を勉強中の方は、是非ご覧になって頂ければと思います。 # と書いてはみたものの、まだ中身見てない…

各数値型の TryParse メソッドの動作差異

Int32.TryParse や Int64.TryParse にカンマ編集処理された数値文字列を渡すと false が返ってきます。 Int32.TryParse("1,234", out value); // false Int64.TryParse("1,234", out value); // false 一方、 Double.TryParse や Decimal.TryParse にカンマ…

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; } ……まぁ、よく知られた公式をそのまま…