![](/img/trans.png)
[英]How to convert a byte array with hexadecimal contents to string with decimal in c#
[英]How to convert decimal array to string array in C#?
我需要將小數數組轉換為字符串數組。 如何轉換十進制[]到字符串[]? 我可以用嗎
Array.ConvertAll()
方法來完成這項任務?
是的,您可以非常簡單地使用Array.ConvertAll
您只需要提供轉換委托,而使用lambda表達式最容易做到:
string[] strings = Array.ConvertAll(numbers, x => x.ToString());
可以使用LINQ效率稍差一些,但在慣用性和靈活性上更高:
string[] strings = numbers.Select(x => x.ToString()).ToArray();
或者,如果您實際上並不需要數組,並且對每次迭代對其執行字符串轉換感到滿意,則:
IEnumerable<string> strings = numbers.Select(x => x.ToString());
這里的靈活性是numbers
可以更改為任何 IEnumerable<decimal>
-因此,如果更改為使用List<decimal>
,則無需更改此轉換代碼。
調用ToArray
時效率稍有下降,是因為調用Select
的結果是一個延遲計算的序列,該序列不知道其大小以開始-因此它無法立即知道輸出數組的確切大小,而ConvertAll
顯然可以。
當然可以使用Array.ConvertAll
方法。 您只需要一個可以通過lambda表達式輕松完成的對話。
string[] string_array = Array.ConvertAll(decimal_array, x => x.ToString());
Array.ConvertAll
轉換整個數組。 它將一個數組中的所有元素轉換為另一種類型。
讓我們編寫代碼;
decimal[] decimal_array = new decimal[] {1.1M, 1.2M, 1.3M, 1.4M };
string[] string_array = Array.ConvertAll(decimal_array, x => x.ToString());
foreach (var item in string_array)
{
Console.WriteLine("{0} - {1}", item.GetType(), item);
}
輸出將是;
System.String - 1.1
System.String - 1.2
System.String - 1.3
System.String - 1.4
這是一個DEMO
。
嘗試這個
decimal[] decArr = new decimal[5];
// ...
string[] strArr = decArr.Select(d => d.ToString("0.00")).ToArray();
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.