2011-07-26 13 views
2

私はVB.NETを必要とする新しい仕事を始めているかもしれませんが、私はC#開発者です。コードを理解できるかもしれませんが、最初から書くことは面倒です。私はしばらくしている。VB.NET for C#開発者

そこにはC#> VB.NETコンバータがあり(オンライン)、C#コードを貼り付けてVB.NETコードに変換します。私の質問は、これを経験した人がいるかどうか、それが良い一時的な解決策であるのか、それともそれほど困難を経験するのかです。彼らは良い変換ですか?

おそらく私はAsp.netでコードを実行するつもりです。

例コンバータ:事前http://www.developerfusion.com/tools/convert/csharp-to-vb/

おかげ。

+0

私はこの質問が閉鎖に関連するとは思わない。あなたの理由を記入して、この質問を終了する前に記入してください。 – Tarik

答えて

14

コンバーターを使用しないでください - VB.NETとその構文とC#の違いを理解してください。

非常に良い比較チートシートhereがあります。

実際には、同じ方法でおなじみの.NETオブジェクトとやりとりしているほとんどの場合、構文の違いがあります(ただし、ジェネリックとデリゲートの構文は痛みがあり、それらから)。

マイクロソフトでは、both language to feature parityを持ってきていると述べています。だから、C#でできることは何でも、VB.NET(通常は軽微な違い)でできるはずです。


アップデート - あなた VB.NETでの使用、およびその逆のためのC#でライブラリを書くことができるように、(アセンブリ内)コンパイルされたコードは、両方の言語(CLS complianceを想定)で同じように動作する必要があることを忘れないでください。

+0

詳細な回答ありがとうございました... – Tarik

+0

+1最後のコメント/更新 –

1

あなたは言われて、コードを手動で変換するための貴重な運動になること​​

を試すことができます。手動変換を行うことで豊富な経験を得ることができ、今後の翻訳に役立つ2つの言語の主な違いをいくつか学びます。

+0

これは私が共有したリンクよりもよく見えます。ありがとう... – Tarik

1

私はあなたのコードはうまくいくと思いますが、C#と同等のものがなく、あなたのコードが言語にうまく適合するような特別な機能が欠けてしまうでしょう。いくつかの例:C#ので

  • 、あなたはAddHandlerに変換される、+=でイベントハンドラを割り当てます。しかしVBでは、WithEvents instance variablesを使用する方がはるかに一般的です。これは特にASP.NETの場合に関係します.C#ではAutoEventWireupという機能がよく使用されますが、VBではWithEventsで行われます。

  • C#では、VBで一致するメソッド呼び出しに変換されるLINQ to XMLメソッド呼び出しによってXMLにアクセスします。しかしVBでは、integrated language support for XMLを使うのが自然です。

1

これはコードの大部分を変換するのに適していますが、トータルソリューションではありません。C#のインデクサ括弧([])とメソッド括弧(())の関係をコンバーターが知っているコンバータが問題です。 VBはインデクサとメソッドに括弧を使用しています。したがって、使用するかどうかを知る方法はありません。

私はこれらのもので変換地獄を通り過ぎてしまい、最終的にはあまりにも多くのトラブルであり、手で変換するのがずっと簡単だと決めました。私はVBの背景から来たので、これは私にとって大きな問題ではありませんでした。

あなたがしたいことは、VB.NETの構文を学ぶ必要があります。 C#ですべてを書いてVB.NETに変換するのは良い、長期的な解決策ではありません。あなたは最終的にVB.NETを学ばなければなりません。あなたのマネージャーは、あなたがプログラムに雇われた言語の根本的な基礎を学んでいないという事実に熱心ではありません。

1

変換器はありますが、あなたが一番大切な違いを知ったらそれを見つけてください。同じ方法で.NETライブラリとやりとりするので、プログラミングの多くは同じになります。

私はちょうど最近ジョブを変更し、反対方向に行った。私はC#を学ぶ時間を取ってうれしいです。最終的には大きな配当があり、あなたはもっと多様化するでしょう。