Pet*_*nok 2 .net c# dictionary
您好我尝试实现2键字典,当我编译此代码时给我消息:并非所有代码路径都返回System.Collections.IEnumerable.GetEnumerator()中的值.我尝试在很多地方添加return语句,但它没有效果.有什么想法有什么不对?
public IEnumerator<MultiKeyStruct<PK,SK,V>> GetEnumerator()
{
foreach (var primaryKey in primarykeys)
{
foreach (var secondaryKey in primarykeys[primaryKey.Key])
{
var returnItem = new MultiKeyStruct<PK,SK,V>(primaryKey.Key, secondaryKey.Key, secondaryKey.Value);
yield return returnItem;
}
yield return default(MultiKeyStruct<PK, SK, V>);
}
yield return default(MultiKeyStruct<PK,SK,V>);
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
GetEnumerator();
}
Run Code Online (Sandbox Code Playgroud)
你的第二种GetEnumerator方法的主体应该是:
return GetEnumerator();
Run Code Online (Sandbox Code Playgroud)
这return很重要.