3

私はint[]

RXBuffer[0], RXBuffer[1],..., RXBuffer[9]

ここで、各値はASCIIコードを表すため、0x31は、を表し1、0x41はを表しAます。

これを10文字の文字列に変換するにはどうすればよいですか?

これまでに試しましData = RxBuffer.ToString();た。しかし、それは私のデータが何であるかではないことにData等しいことを示しています。System.Int32[]

これどうやってするの?

4

2 に答える 2

4

「int配列」が0〜9の範囲の値であると仮定すると(「int配列」の長さ10を10文字の文字列に変換するのが理にかなっている唯一の方法です)-少しエキゾチックな方法です。

string s = new string(Array.ConvertAll(RXBuffer, x => (char)('0' + x)));

しかし、かなり効率的です(これchar[]は自動的に適切なサイズになり、文字列変換はの代わりに数学だけで行われますToString())。


編集:これらが実際にはASCIIコードであることを明確にするリビジョンを使用すると、より簡単になります。

string s = new string(Array.ConvertAll(RXBuffer, x => (char)x));

char[]率直に言って、値がASCII(またはユニコード)の場合は、 ;として保存することをお勧めします。これは同じ範囲をカバーし、スペースの半分を占め、次のようになります。

string s = new string(RXBuffer);
于 2012-07-31T06:52:18.577 に答える
3

LolCoder 必要なものは次のとおりです。

string.Join("",RXBuffer);

============== または =================

        int[] RXBuffer = {0,1,2,3,4,5,6,7,8,9};
        string result  =  string.Join(",",RXBuffer);
于 2012-07-31T06:54:43.053 に答える