如何用一行代码将 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

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