我有以下枚举:
public enum SymbolWejsciowy
{
K1 , K2 , K3 , K4 , K5 , K6 , K7 , K8
}
我想使用此枚举的值创建一个列表:
public List<SymbolWejsciowy> symbol;
我尝试了几种不同的方法将枚举值添加到列表中:
SymbolWejsciowy symbol;
symbol.Add(symbol = SymbolWejsciowy.K1);
and
symbol.Add(SymbolWejsciowy.K1);
但是,我总是遇到以下异常:
你调用的对象是空的。
我怎样才能正确地完成这个任务?
正如其他答案已经指出的那样,问题是你已经声明了一个列表,但你还没有构建一个列表,所以你得到一个NullReferenceException
当您尝试添加元素时。
请注意,如果您想构造一个新列表,您可以使用更简洁的集合初始值设定项语法 http://msdn.microsoft.com/en-us/library/bb384062.aspx:
List<SymbolWejsciowy> symbols = new List<SymbolWejsciowy>
{
SymbolWejsciowy.K1,
SymbolWejsciowy.K2,
// ...
};
如果您想要一个包含所有值的列表,那么您可以通过调用来获取Enum.GetValues http://msdn.microsoft.com/en-us/library/system.enum.getvalues.aspx:
List<SymbolWejsciowy> symbols = Enum.GetValues(typeof(SymbolWejsciowy))
.Cast<SymbolWejsciowy>()
.ToList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)