我有枚举:
public enum SymbolWejsciowy { K1,K2,K3,K4,K5,K6,K7,K8 }
我想创建这个枚举的列表
public List<SymbolWejsciowy> symbol;
但在我的方式添加枚举列表:
1.
SymbolWejsciowy symbol ; symbol.Add(symbol = SymbolWejsciowy.K1);
2.
symbol.Add(SymbolWejsciowy.K1);
我总是得到异常
Object reference not set to an instance of an object.
我做错了:/请帮忙:)
解决方法
正如其他答案已经指出的那样,问题是你已经声明了一个列表,但是你没有构造一个列表,所以当你尝试添加元素时,你会得到一个NullReferenceException.
请注意,如果要构建新列表,可以使用更简洁的collection initializer syntax:
List<SymbolWejsciowy> symbols = new List<SymbolWejsciowy> { SymbolWejsciowy.K1,SymbolWejsciowy.K2,// ... };
如果您想要一个包含所有值的列表,那么可以通过调用Enum.GetValues
:
List<SymbolWejsciowy> symbols = Enum.GetValues(typeof(SymbolWejsciowy)) .Cast<SymbolWejsciowy>() .ToList();