私はint[]
:
RXBuffer[0], RXBuffer[1],..., RXBuffer[9]
ここで、各値はASCIIコードを表すため、0x31は、を表し1
、0x41はを表しA
ます。
これを10文字の文字列に変換するにはどうすればよいですか?
これまでに試しましData = RxBuffer.ToString();
た。しかし、それは私のデータが何であるかではないことにData
等しいことを示しています。System.Int32[]
これどうやってするの?
私はint[]
:
RXBuffer[0], RXBuffer[1],..., RXBuffer[9]
ここで、各値はASCIIコードを表すため、0x31は、を表し1
、0x41はを表しA
ます。
これを10文字の文字列に変換するにはどうすればよいですか?
これまでに試しましData = RxBuffer.ToString();
た。しかし、それは私のデータが何であるかではないことにData
等しいことを示しています。System.Int32[]
これどうやってするの?
「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);
LolCoder 必要なものは次のとおりです。
string.Join("",RXBuffer);
============== または =================
int[] RXBuffer = {0,1,2,3,4,5,6,7,8,9};
string result = string.Join(",",RXBuffer);