HTMLパーサいろいろ

C#(というか.NET環境)で使えるパーサいろいろ。
でもどれも難ありで作りなお(ry


個人的にはdeveloper.comのJeffさんのやつがおすすめ。
でもこれアトリビュート取れないときがあるんだよなぁ…。
現在未完全なクローン作成中。


C#でのHTMLパーサー - 雑多なメモ
http://d.hatena.ne.jp/kahki/20080829/p2


Parsing HTML in Microsoft C#
http://www.developer.com/net/csharp/article.php/2230091


Microsoft C#での HTML 構文解析 - japan.internet.com
デベロッパー(上記日本語訳)
http://japan.internet.com/developer/20051115/25.html


C#のhtml parserを使ってみた。 (mojalog)(上記利用例)
http://mojalog.com/2007/11/chtml_parser.html

再帰呼び出し

パーサ作るのにいるかなぁと思ったけどいらなかった。
でもちゃんと再帰のプログラム作った事ないなぁ。
なんか作っときたいな。


C言語編 第56章 再帰呼び出し
http://www.geocities.jp/ky_webid/c/056.html


54. 再帰関数を使ってみよう:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070827/280408/


再帰呼び出し
http://www.geocities.co.jp/SiliconValley-Bay/7437/c/c2b.htm

ジェネリックコレクション

C#(というか.NETか?)にはArrayList型という変数の型が
あったんですが、微妙に使いにくかったんです。
(使い方間違えなければいいとは思うんですが…。)


で、.NET Framework 2.0からサポートされたのが
このジェネリックコレクション。
List型に型を指定して扱う事ができるようになった、という。
(今までは全部Object型だった)


まぁ便利です。
ていうかそもそも言語が便利すぎる。


ジェネリック・クラスで変わるC#VBのコレクション − @IT
http://www.atmarkit.co.jp/fdotnet/special/generics01/generics01_02.html


C#プログラミングレッスン - メルマ!
http://www.melma.com/backnumber_120830_3087823/

VSのショートカットキー

とりあえず、

だけでもいいんじゃない?


Visual Studio:Visual Studio ショートカット - LAINpedia
http://madeira.cc.hokudai.ac.jp/mediawiki/index.php/Visual_Studio:Visual_Studio_%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88

プロパティを作る

オブジェクト指向バンザイ!ですね。


オブジェクト内で使う変数は基本的に隠蔽すべきだということで、
隠蔽するわけですが、しかしそれらをあたかも値を扱うように
メソッドで実装したものをプロパティと呼んだりします。
(多分)


で、それをどうやってやるか、という話です。
get/setを使うわけです。


オブジェクト指向のすごさが分かった気がする。


Set / Get とプロパティ(プログラミング雑記)
http://ufcpp.net/study/miscprog/accessor.html


プロパティ(C# によるプログラミング入門)
http://ufcpp.net/study/csharp/oo_property.html

特定の文字(文字列)が含まれているかどうか調べる

IndexOfを使うのだ!
Jeffさんすげぇぜ!

return ("\t\n\r ".IndexOf(pChar) != -1)


逆転の発想ですね。
渡された文字が、あらかじめ指定した文字列中に現れるかどうか
調べる、というからくり。なんともまぁ。


(追記)
これは「文字」だけでなく「文字列」でも有効。
恐ろしい子だね.NETって。


@IT:.NET TIPS 文字列に特定の文字列が含まれているかを調べるには? - C# VB.NET
http://www.atmarkit.co.jp/fdotnet/dotnettips/128hasstring/hasstring.html

引数が違う同名関数を定義するオーバーロード

これはびっくりした。
引数が違う同名関数を定義する事ができます。
勝手に調べるみたい。


単純に同名で関数を定義し、引数を返るだけでいい模様。
その際戻り値の型も変えられるようです。


C# 戻り値の型を動的に変更することは可能ですか? - Insider.NET
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21003&forum=7


C# Tips
http://www.woodensoldier.info/computer/csharptips/30.htm