现在有一个数字型的 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://*.com/questions/1297231/convert-string-to-int-in-one-line-of-code-using-linq
https://www.iwmyx.cn/rhyyxdmjstrin.html