Kokudoriing

技術系与太話ブログ

C#

WebViewのinvokeScriptではまったところ

.NETでWebアプリのクライアントアプリを作る場合、Windows.UI.Xaml.Controls.WebView を使ってスクレイピングをしたりするわけです。 その時、InvokeScriptAsyncを使ったりするわけです。 こいつは第1引数に呼び出すJavaScriptの関数を、第2引数にその関数…

条件式判断でリストを分割する拡張メソッド

C#

何を言ってるのかわからないかもしれませんが、いわゆる文字列のSplitのリスト版というかIEnumerable<T>版というかが欲しい。 var nums = new { 1, 2, -1, 5, 6, 8, -1, 11, 2, 4, 6, -1, 9 }; // -1を区切り数としてリストを分割したい. // {{1, 2}, {5, 6, 8}</t>…

C#でPEGパーサー

C#

PEGって何?って方はWikipediaを御覧ください。 (正直ボクもよくわかってない・・) ざっくりと、BNFよりも曖昧性のないものを扱うのが得意みたいで、Shift/Reduceコンフリクトが発生しないとのこと。 Perl6がPerl6 rulesとかで言語レベルに組み込んでるアレ…

Coding Guidelines for C# 3.0, 4.0 and 5.0を読んで

C#

Dennis Doomenさんとやら(よく知らない)がお作りになった「Coding Guidelines for C# 3.0, 4.0 and 5.0」 というC#のコーディングガイドラインがあるんですが、それが日本語翻訳されたらしいとのこと。Coding Guidelines for C# 3.0, C# 4.0 and C# 5.0 - Do…

プログラミングF#

C# F#

絶賛読書中なう。 プログラミングF#作者: Chris Smith,頃末和義,鈴木幸敏出版社/メーカー: オライリージャパン発売日: 2010/08/26メディア: 大型本購入: 4人 クリック: 47回この商品を含むブログ (19件) を見るただ、158ページ、159ページでこんなことが。 …

コレクション初期化子を独自型に実装する

C#

さて、昨日デバッガを騙すという記事を書いたんですが、 独自型に対してコレクション初期化子を適用したりしてました。 そう、C#3.0から独自型にもコレクション初期化子は適用可能です。 素敵!ただもちろん条件はあります。 1.IEnumerable を実装している…

デバッガを騙す

C#

C# は良くも悪くも IDE べったりな言語。 言語が特定ツールに依存することは賛否両論ですが、少なくとも C# はそういう言語だからシカタナイ。 そして IDE と言えば IntelliSense とデバッガですね。 今回はそのデバッガのお話。よく C# でクラスや構造体を…

拡張メソッドの「拡張」ってなにさ

C#

拡張メソッドはC#3.0から主にLINQをサポートするために追加された機能。 もちろんLINQ以外にもいろんな用途に使えます。そもそも拡張メソッドの「拡張」とは何か。 安直に考えれば既存の型に機能を拡張するというもの。 では何故拡張するのか。つまりバージ…