[英]Convert int array to string in C#
我有一個int[]
:
RXBuffer[0], RXBuffer[1],..., RXBuffer[9]
其中,每個值表示成ASCII碼,所以0X31表示1
,0×41表示A
。
如何將其轉換為10個字符串?
到目前為止,我已經嘗試過Data = RxBuffer.ToString();
。 但是它顯示Data
等於System.Int32[]
,這不是我的數據。
我怎樣才能做到這一點?
假設“整數數組”的值在0-9范圍內(這是將“整數數組”的長度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));
坦白地說,如果值是ASCII(甚至是unicode),最好將其存儲為char[]
; 它覆蓋相同的范圍,占用一半的空間,只是:
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.