目次
C# を使ってみた時の感想です。
C# を使ってみた
会社で、「VB よりも C# のほうがいい」と言っていた人がいたので、どんなものなのかと思い C# を使ってみました。 業務では C# を使わず VB を使っています。
C# のよさ&悪さ
C# のよさは、コードの量が減ることかなと思いますが、 慣れるまではいまいち実感がわきません。 .NET Framework の上で使うことを考えると、 できることは VB とほとんど変わらないと思います。
小文字と大文字を区別するので、小文字の something というプロシージャと 大文字の SOMETHING というプロシージャを共存させられます。 そんな名前の付け方はしなさそうですけど。
partial なクラスがちょっとイけてるらしいです。 しばらく使ってみないとわかりません。
文字数は少ないけれど、プロシージャ等の括弧が1行を占領するので行数が多くなって見づらいです。 (この自動調整機能は設定変更可能らしい。)
VB のよさ&悪さ
VB はコードが長くなりがちですが、それだけ詳しく書いていることでもあり、読むだけでわかりやすいと思います。 それでも、たぶん慣れれば同じでしょう。 VB の Exit
は便利ですね。 (参考: 第3回 VBがC#やJavaよりもさえている1つの事例)
VB は型変換が自動で行われるからダメだ! という話がありますが、 Option Strict
をつければいいと思います。
大文字と小文字を区別しないので、 Shift をいちいち押さなくていいし、 大文字小文字を自動で修正してくれる。
VB 2008 のインテリセンスは、「よく使われる候補」と「すべての候補」がある。 一方でC# 2008 のインテリセンスはその区別がない。 このよしあしも、使ってみないとわからないかも。
困ったこと
VB では、コードを入力する画面の上のほうに、イベントハンドラを選択してイベントプロシージャを挿入するコンボボックスがありますが、 C# は少し違います。 挙動を理解するのに大分時間がかかりました。
C# では、フォーム上のコントロール(テキストボックス等)のプロパティ画面に、イベントというボタンがあります。 それをクリックして、お望みのイベントをダブルクリックします。 (参考:イベントを捕捉する)
Microsoft
同じ Microsoft の製品なら、使い方も統一してほしいと思います。 Visual C++ だったかも、 インテリセンスの挙動が VB とは違います。 VB では Enter を押すと確定&改行が行われるのに対し、 VC++ では確定のみ行われます。