じゃんぬねっと日誌

ネタと雑記と時々プログラミング

目次

Blog 利用状況

ニュース

Halo3 にハマり中。アービターかわいいよ。あーびたん。

スポンサードリンク

運営サイト

  • C# と VB.NET の入門サイト

Blog Item

フィードメーター - じゃんぬねっと日誌

書庫

VB.NET より C# の方が好きなところ

前回の「C# より VB.NET の方が好きなところ」の逆パターンです。時間がないので、同じような言い回しで書いてしまいます。

VB (VB.NET) と C# を比較するようなスレッドが未だに良くあがります。その時の (手抜き) 説明のためのメモであります。気付く度に更新しちゃいますので、生温かく見守るかスルーしてください。あ、同じ言い回しw

まずは、良し悪しは除いて、C# ならではの概念または機能をあげておきます。

C# ならでは (ではないかw) の概念または機能

  1. 変数の宣言は '強制' される (C# に限らずだけど)
  2. 型に対して厳密であることが '強制' される (ポリモーフィズムは除く)
  3. 同じような動作をするパッケージ・名前空間が少なく統一感がある (揺らぎが少ない)
  4. Main がすべての始まりなのだよ (VB ではデフォルトで Application Framework に隠蔽されている)
  5. 遅延バインディングのような動作は容易ではない (だが、それがいいッ!!)
  6. 明示的な静的 (static) クラスの存在 (C# に限らないけど、2.0 から加わった)
  7. 空のブロックを作ることができる (VB だと専用の機構がない)
  8. 値の代入が式である (i1 = i2 = i3 = 0 という書き方が可能)
  9. 三項演算子 (x ? y : z) の存在 (最近は使わないようにしています)
  10. Null 合体演算子 (x = y ?? z) の存在
  11. 引数には ref のほかに out が存在する (ref より out を使おう)
  12. 値渡し・参照渡しのみが違うメソッドをオーバーロード可能 (やめようぜ。な!!)
  13. インクリメント・デクリメントが可能 (VB では i += 1 という書き方までは可能)
  14. 左シフト、右シフト演算子の存在
  15. 大文字小文字の区別がある (VB にはない)
  16. 文の終端にセミコロンが必要 (VB は通常 1 行 1 文)
  17. 文の終端はセミコロンで明示するため、文が複数行に及ぶ際にも特に何もしなくても良い (VB では、アンダーバーが必要)
  18. 複数行コメントアウトが言語側で用意されている (VB にはない)
  19. extern エイリアスで、完全修飾名が同じものを含むアセンブリが使い分け可能
  20. fixed ステートメントの存在
  21. volatile キーワードの存在
  22. extern キーワードの存在 (VB にはないけど、別にどうでも良い話)
  23. unsafe キーワードの存在
  24. stackalloc キーワードの存在
  25. イテレータ (Iterator | 反復子) の存在
  26. 匿名メソッド (Anonymous Methods) の存在
  27. キーワードが Camel スタイルなのが、C 出身者にとっては読みやすい
  28. キーワードが少なくてシンプルなのが、時と場合と人によっては読みやすい (シンプルさは Java には負ける)
  29. キーワードが若干 CLR 寄り (というか、メタ属性名寄りというか)
  30. C# 1.x 時代から、符号なしデータ型が完全にサポートされている (2.0 からは VB でもサポートされるようになった)
  31. C# 1.x 時代から、オペレータ演算子のオーバーロードが可能 (2.0 からは VB でもサポートされるようになった)
  32. C# 1.x 時代から、as 演算子がある (2.0 からは VB にも TryCast として追加された)
  33. C# 1.x 時代から、contine ステートメントがある (2.0 からは VB にも追加された)
  34. C# 1.x 時代から、using ステートメントがある (2.0 からは VB にも追加された)
  35. C# 1.x 時代から、Visual Studio にて XML コメントに対応 (2.0 からは VB にも追加された)

他にもいっぱいありますが、時間がないのでこの辺で失礼します。個人的に好きなところは、また時間がある時にでも続きを書いておきます。

関連リンク

投稿日時 : 2007年2月27日 10:52

コメントを追加

# re: VB.NET より C# の方が好きなところ 2007/02/27 17:33 刈歩 菜良

s/main/Main/
だよ

# re: VB.NET より C# の方が好きなところ 2007/02/27 18:10 じゃんぬねっと

細かいところに突っ込みが入ったw

# re: VB.NET より C# の方が好きなところ 2007/02/28 15:13 ちゅき

>三項演算子 (x ? y : z) の存在 (最近は使わないようにしています)

IIFは邪道杉っすか?

# re: VB.NET より C# の方が好きなところ 2007/02/28 21:40 じゃんぬねっと

>ちゅき さん
IIf は、三項演算子と同じ動きをしないので、ここでは三項演算子を挙げています。

# re: VB.NET より C# の方が好きなところ 2007/03/01 14:24 ちゅき

なるほど。納得です
#いつの間にか、案件でC#使わなくなってるな...

# re: VB.NET より C# の方が好きなところ 2007/03/01 15:29 ちゅき

なるほど、納得です。
ありがとうございました^^
#usingがVB.NETに追加されて以来最近VB.NETばかり書いている気がする^^;

タイトル  
名前  
URL
コメント