C# 无法将“int[]“类型隐式转换为“int?[]“,无法将“string[]“类型隐式转换为“string?[]“

在 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);  
        }  

你可能感兴趣的:(C#,空数组转换成非空数组)