在 C# 中,不能将 int[] 隐式转换为 int?[],因为它们是两种不同的类型。int[] 是一个整数数组,而 int?[] 是一个可空整数数组。要解决这个问题,你可以使用显式转换或创建一个新的可空整数数组。
两种解决方案供大家选择
csharp
// 示例 int[] 数组
int[] intArray = { 1, 2, 3, 4, 5 };
// 使用 LINQ 将 int[] 转换为 int?[]
int?[] nullableIntArray = intArray.Select(i => (int?)i).ToArray();
csharp
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);
}