2017-04-20 6 views
-7

私はC#に変換しているVBコードを持っています。私はプログラムの大きな塊を作成しましたが、私はこれのfuctionの1つのラインにこだわっている:このVBコードをC#に変換するには?

Private Sub Arduino_Write(ByVal Output As String) 
    If Not IsNothing(networkStream) Then 
     Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(Output) 
     Dim endByte As [Byte]() = {&HFE} 
     networkStream.Write(sendBytes, 0, sendBytes.Length) 
     networkStream.Write(endByte, 0, 1) 
    Else 
     MsgBox("ERROR") 
    End If 
End Sub 

私はendByte知っている何Byte型の配列であると私は& HFEが何であるかを知らないとどのように変換するか、C#で型キャストする。誰でも助けてくれますか?

+0

いくつかのオンラインコンバータがあります - Googleはあなたを助けます;-)またはconvert.netを使用することができます。 – muffi

+0

ちょうどGoogleにしよう:**オンラインC#からvb.net ** – Mederic

+0

'&HFE'は16進リテラルです。 C#では '0xFE' – spender

答えて

0

は約方法:

private void Arduino_Write(string Output) 
{ 
    if (networkStream != null) { 
     var sendBytes = Encoding.ASCII.GetBytes(Output); 
     var endByte = { 0xfe }; 
     networkStream.Write(sendBytes, 0, sendBytes.Length); 
     networkStream.Write(endByte, 0, 1); 
    } else { 
     Interaction.MsgBox("ERROR"); 
    } 
} 
+0

ありがとう、それは私が探していた正確なものでした。 –

+0

問題ありません。自由に投票して受け入れてください。私はあなたを永遠に愛するでしょう:o) – Luke

+0

あなたがしたいことを知っている.... – Luke

1

&HFEはちょうどC#では254の16進を意味し、これは次のようになります。

byte[] endByte = { 0xFE }; 
+0

ありがとう、それは大きな助けだった。 –

0

は、いくつかのオンラインコンバータを試してみてください、彼らは大丈夫です。 Googleは多くを見つけるでしょう。 ;)ここ例

http://converter.telerik.com/

private void Arduino_Write(string Output) 
{ 
    if ((networkStream != null)) { 
     Byte[] sendBytes = Encoding.ASCII.GetBytes(Output); 
     Byte[] endByte = { 0xfe }; 
     networkStream.Write(sendBytes, 0, sendBytes.Length); 
     networkStream.Write(endByte, 0, 1); 
    } else { 
     Interaction.MsgBox("ERROR"); 
    } 
} 
1

から、六角FEの単一の値を持つ配列です。 C#では次のように書くことができます:

byte[] endByte = {0xFE}; 
0

これを試してみてください。

VBコードをコンパイルし、Reflectorのdissasemblerを使用してC#コードを表示することができます。いくつかの変数名が変更されます。インターネットで

private void Arduino_Write(string Output) 
{ 
    if ((networkStream != null)) { 
     Byte[] sendBytes = Encoding.ASCII.GetBytes(Output); 
     Byte[] endByte = { 0xfe }; 
     networkStream.Write(sendBytes, 0, sendBytes.Length); 
     networkStream.Write(endByte, 0, 1); 
    } else { 
     Interaction.MsgBox("ERROR"); 
    } 
} 

より多くのオンラインconverters.hereを持っているが、いくつかのコンバータ

http://converter.telerik.com/

http://www.carlosag.net/tools/codetranslator/

ある時々転化率は100%正確はありませんが、それは間違いなく非常に便利ですまた、Language Convertという名前のVisual Studio 2012プラグインを使用することもできます(2010/2012と完全に動作します)

関連する問題