我想将值添加到null枚举数组。但是我在运行时遇到了null异常。我该如何解决这个问题?
My Enum是
public enum Name
{
Arun, Kumar, Mohan, Jerwin
}
然后我创建了枚举数组。
private static Name[] names; //here I can`t set the size. Because user can pass the input as per their need.
现在我从用户获取值并添加到枚举数组收集。但是我在代码中遇到了null异常。
public static string GetName(Name input)
{
names[0] = input;
//My implementation
}
我在第names[0] = input;
行收到错误。
我的例外是
未处理的类型' System.NullReferenceException'发生在my.dll中
附加信息:未将对象引用设置为对象的实例。
如何将此用户输入添加到枚举数组?
答案 0 :(得分:2)
您不需要数组,因为应修复数组大小。你需要一个List<Name>
。列表具有“动态”大小,可以添加元素。
private static List<Name> names = new List<Name>();
然后:
public static string GetName(Name input)
{
names.Add(input)
(从技术上讲,您可以使用数组执行此操作,因为可以调整数组的大小,但执行此操作通常是错误的...正确的工作是正确的工具)
请注意,你正在做的事情有点可疑......闻起来很糟糕。使用枚举(一种在编译时决定的结构,通常用于小型固定集),就像名字这样的东西很奇怪。通常有无数的名字(除了一些小的例外......美国各州只有50个名字,他们改变的情况非常罕见......只有7位罗马国王,这不会改变,等等)