我是 c# 高级编程的新手,所以很多东西对我来说都是非常新的。
我正在尝试扩展我的自定义 Dictionary 对象,该对象具有自定义类和键值对的自定义类列表。
在这个静态类中,我正在为我的字典的部分键扩展部分匹配功能,它应该返回 aList<T>
而不是只返回 one T
。
public static class GADictionaryExtention
{
internal static List<T> PartialMatch<T>(this Dictionary<KeyDimensions, T> dictionary,
KeyDimensions partialKey)
{
IEnumerable<KeyDimensions> fullMatchingKeys = null;
fullMatchingKeys = dictionary.Keys.Where(currentKey => currentKey.Contains(partialKey));
List<T> returnedValues = new List<T>();
foreach (KeyDimensions currentKey in fullMatchingKeys)
{
returnedValues.Add(dictionary[currentKey]);
}
return returnedValues;
}
}
在我的调用代码中,我试图List<T>
通过以下代码访问所有结果。
List<List<Metric>> m1 = DataDictionary.PartialMatch(kd);
但我收到以下错误。
Cannot implicitly convert type
'System.Collections.Generic.IEnumerable<System.Collections.Generic.List<Metric>>'
to 'System.Collections.Generic.IEnumerable<Metric>'.
An explicit conversion exists (are you missing a cast?)