在 C# 中,不能将 int[] 隐式转换为 int?[],因为它们是两种不同的类型。int[] 是一个整数数组,而 int?[] 是一个可空整数数组。要解决这个问题,你可以使用显式转换或创建一个新的可空整数数组。
两种解决方案供大家选择
// 示例 int[] 数组int[] intArray = { 1, 2, 3, 4, 5 };// 使用 LINQ 将 int[] 转换为 int?[]int?[] nullableIntArray = intArray.Select(i => (int?)i).ToArray();
string str = "1 2 3 4 5"; string[] strArray = str.Split(' '); int[] intArray = strArray.Select(s => int.Parse(s)).ToArray(); // 打印转换后的整数数组 foreach (int i in intArray) { Console.WriteLine(i); }