如何用一行代碼將 string[] 轉成 int[] ?

現在有一個數字型的 string 數組。如何用一行代碼將 string[] 轉換成 int[]數組。 var arr = new string[] { "1", "2", "3", "4" };
用 Array.ConvertAll 方法直接強轉即可:
int[] myInts = Array.ConvertAll(arr, int.Parse);
如果用 Linq 的話,可以將 int.Parse 丟到 Select 擴展方法即可:
int[] myInts = arr.Select(int.Parse).ToArray();
爲了避免異常,建議用 .TryParse 而不是 .Parse,如果遇到不能轉換的,還可以用 0 進行替代,參考如下代碼:
string[] arr = { null, " ", " 1 ", " 002 ", "3.0" }; var a = Array.ConvertAll(arr, s => int.TryParse(s, out int i) ? i : 0);

https://stackoverflow.com/questions/1297231/convert-string-to-int-in-one-line-of-code-using-linq

https://www.iwmyx.cn/rhyyxdmjstrin.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章