C#
C#のTipsです。
Visual Studio 2005 Express に登録すると、いろんな特典がもらえます。
英語ページですけど。http://msdn.microsoft.com/vstudio/express/register/
サンプルや(たしか)書籍(PDF)、ロイヤリティフリーのアイコン・リソース集等々。
一覧を書いてみます。
Corbis Image Pack250ものロイヤリティフリーの画像集。Webサイトや作成したアプリに使用可能。
IconBuffet Studio Edition
以前、CodeZineで記事を書いたんですが、その記事が、本になります。といっても、記事集の形で、なんですけどね。
書名は、「CodeZine傑作選 Vol.1」という本です。掲載されるのは、「.NETでLAN転送速度を測定するIEツールバーを作る」という記事です。今気づいたんですが、閲覧数が5000弱、すごいなぁ。
翔泳社さんから、2月13日発売予定です。
紙面の関係上、VS2005で使用するための補足事項は外してあります。VS2005 で使う方法はこちらも参考にしてください→ http://tipsofvb.net/forums/300/ShowPost.aspx#300
中さんのBlogでVisual Studio 2005でコードスニペット機能を組み込む(C#) が公開されてます。
ついでに、.NET 2.0向けスニペット センターも開設した模様。
結構便利なコードスニペット。実務やデモでも大活躍しそうです。
…オリジナルのスニペット、作ってみようかなぁ…。
MSKBへのポインタ
[HOW TO] Visual Basic .NET を使用したハッシュ値の計算および比較方法[HOW TO] C# .NET を使用してハッシュ値を計算し比較する方法
System.Security.Cryptography 名前空間を使用しています。
また、MD5はRFCで定義されています。
RFC 1321 - The MD5 Message-Digest Algorithm (HTML版)
RFC 1321 - The MD5 Message-Digest
今回新しくなったC# 2.0(.NET Framework 2.0 / VS 2005)の新機能(?)です。
Iterators(イテレータ)を使うことで、列挙型を簡単に実装することができるようになるとのこと。
私はVBメインなのであまりC#で開発したことがないのでよくわからないのですが…
IEnumeable で列挙型を実装した場合、for each 文でループさせた場合の状態を管理する必要があったようで…。それが、Iteratorsを使うことによって簡単に実装できるようです。for each
CodeZineにて、onoさん著の「CD-ROMから起動できるWebアプリケーション環境の構築」という記事が掲載されています。
この記事中で紹介されているCassiniというのは、(記事中でも触れられていますが)簡単に言うと単体でASP.NET環境が実行できるWebサーバーですね。IISを必要とすることなく、ASP.NETアプリケーションが実行できます。(※実行には、もちろん.NET Frameworkが必要になります)
ちなみに、Cassiniは WebMatrix にも使われていたりします。
社内で結構質問されたので(^^;
SQL文にコントロールのプロパティとかをそのまま連結させると、どえらいことになりますよ。
要は、レコード一つだけ抽出するクエリで、SQL = "SELECT [氏名] FROM HogeHoge WHERE ID= '" & TextBox1.Text & "'"
ってなことやっちゃうと、どうなるかわかりますよね?TextBox1.Textが、「100」などという想定内の入力だったらいいんですけども、もし、”100' OR 10='10”
CodeZine の拙著 .NETでLAN転送速度を測定するIEツールバーを作る に関しての補足です。
作成したツールバーをビルドする前に、先にBandObjectLibをregasmとgacutilで登録してあげる必要があります。そうでないと動きません(先にBandObjectLibをソリューションごとビルドすれば自動的に登録されるはずです) また、ツールバーを一覧から消したい(アンインストールしたい)時、gacutilとregasmというツールを使用するのですが、、gacutilを使ってアンインストールするときは、ファイル名に拡張子は必要ありません。regasmのときは拡張子が必要です。