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

© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
图片正在生成中,请稍后...