在foreach中出现的问题
本文关键字:问题 foreach | 更新日期: 2023-09-27 17:50:14
我在这段代码中遇到了一些问题,它来自一个小程序,我正在为一个RPG的魔法道具创造者工作。它应该很简单,spellList(全局声明)是字符串的哈希表键,值是类' spell '的对象。
public void PopulateSpellDropDown()
{
Spells s = new Spells();
foreach (DictionaryEntry entry in spellList)
{
s = entry.Value; **<- Error here, no implicit conversion.**
cbScrollSpells.Items.Add(entry.Key.ToString());
}
}
我试着在我能想到的所有地方都放上石膏,但似乎都不起作用。我试着搜索了一些教程,但没有一个建议似乎是有效的。我知道这将是一个令人尴尬的简单问题,但我将感谢您的帮助。
谢谢。
就这样做:
s = (Spell) entry.Value;
或者,您可以使用Dictionary<T,T>
泛型类型作为集合,这样您就不必进行任何类型转换。
当"values是类' spell '的对象"时,那么这应该可以工作:
s = (Spells) entry.Value;
您应该显式地强制转换条目。值设置为合适的类型,如:
(Spell)entry.Value
我宁愿使用更短的
foreach (var entry in spellList)
不是foreach (DictionaryEntry entry in spellList)
如果条目上的value属性是Spells
类型,那么显式强制转换将为您解决这个问题;
s = (Spells)entry.Value;