我有这样一本字典:如何让我的字典参考列表<T>值?
private Dictionary<string, List<SmartTextItemModel>> service_ListOfItems = new Dictionary<string, List<SmartTextItemModel>>();
service_ListOfItems["bingsearch"] = MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel.BingItemResults;
service_ListOfItems["wikipedia"] = MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel.WikipediaItemResults;
service_ListOfItems["youtube"] = MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel.YoutubeItemResults;
(。SmartTextItemModel仅仅是包含标题,描述和URL,这是所有的字符串一个简单的类背景下,看我前面的问题)
当然,%Service%ItemResults对象的类型为List < SmartTextItemModel>,并且在SmartTextStateModel文件中将列表初始化为null。
我在其他文件中的代码,修改每个MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel.%service%ItemResults
列表,像这样:
MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel.%service%ItemResults = some new List of type SmartTextItemModel
当我尝试检查列表是在初始化词典相同的文件无效,
if (service_ListOfItems[ searchService ] == null) { ... } // searchService is "bingsearch", "wikipedia", or "youtube"
我没有得到我期望的结果。 if语句中的语句总是运行。即使它们被分配到不同的文件中,字典中的列表值仍然为空。
我希望的行为是我的字典引用列表MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel
。我怎样才能做到这一点?
好的。我不需要使用字典,但有什么别的可以将这些字符串映射到MyProgramKernel.Instance.SmartTextViewModel.SmartTextStateModel的列表? – Flames 2013-03-21 22:19:23
@Flames看到我编辑的答案。 – 2013-03-21 22:26:29
谢谢! Lambda表达式起作用。我将在此期间使用它。 – Flames 2013-03-22 17:32:16