-2

我有一个从列表转换为数组的 C# 方法。代码如下:

public String[] ConvertToArray(List<InstallationControl> list)
        {
            String[] Array = null;
            Int32 i = 0;
            foreach (var item in list)
            {
                Array[i] = item.Value.ToString();
                i++;
            }

            return Array;
        }

但是,它总是给我 Null 异常。谁可以给我解释一下这个?

4

3 回答 3

4

您没有初始化要填充的数组。

String[] Array = new String[list.Count]

应该能解决你的问题。

这将创建一个 [list.Count] 字符串数组。您应该知道,这些字符串中的每一个都是空的,直到您为其赋值。

MSDN 阵列

于 2013-09-23T16:54:32.660 回答
1

您需要初始化数组

String[] Array = new String[list.Count];

或者干脆

String[] Array =list.Select(x=>x.Value.ToString()).ToArray();
于 2013-09-23T16:54:45.083 回答
0

更改行以初始化数组

String[] Array = new String[list.Count];

应该管用

于 2013-09-23T16:54:38.793 回答