vb.netで僕のような万年ビギナの半可通にとって良いなって思えることの1つのはbasicなればこその大文字と小文字の区別を意識しないコーディングが出来るってこと。
当然それは諸刃の刃で定数と同じ綴りの変数とか使っちゃうとハマったりするけど過去に書いた変数がキャメルスタイルだったか全小文字だったか余り気にせずに書くことが出来るのは浮かんだアイディアをガシガシ書きたいときなどにはありがたかったりする。
最近はc#ではもはや中心的機能とも言うべきLinqをvb.netで使いたいと思っている。
しかしc#での自然で素直な構文と比べてvb.netでのあとづけ感は残念、というか冗長
c#で
Console.writeline(new string(".Test.Command.".Where(c => c!=','),ToArray()));
はvb.netで
Console.WriteLine(".Test.Command.".Where(function(c) c <>".").ToArray())
となる。いきなりstringをかけるのは良いけどラムダ式の記述がちょっと嫌だ。
c=> c!='.' と function(c) c<>"." はどう見てもc#のほうが見た目が軽くてスマート
これがソース中に何度も出てくると見た目が重くてつらいかも。
もちろんvbのほうがWhereで評価している要素のfilterとして無名の関数を使うよって言ってる感じがしなくもないけど・・・やっぱりc#がスマートでいい感じ
でもLinq便利なのでvbでもできるだけ慣れて使っていこうと思う。
0 件のコメント:
コメントを投稿