草庐IT

c# - Linq 查询字典,其中列表中的值

我有一个Dictionary和另一个List.我想要实现的是一个linq查询,用于从字典中获取所有项目,其中所述字典中的任何值都在List中。.我发现这篇文章很有帮助,LINQqueryingaDictionaryagainstaList.并且能够编写以下linq表达式,但是我的结果实际上从未返回任何内容。到目前为止我有什么。Data是字典和PersonList是字符串列表。varPersons=PersonList.Where(x=>Data.ContainsKey(x)).Select(z=>new{key=z,value=Data[z]}).ToList();

swift - 在 Swift 中使用键值编程 (KVP)

在带有Cocoa的Objective-C中,通过使用键值编程(KVP),无需显式循环即可完成许多任务。例如,我可以用一行代码找到数组中的最大数:NSNumber*max=[numbersvalueForKeyPath:@"@max.intValue"];我怎样才能用swift做同样的事情?数组似乎不支持valueForKeyPath方法。 最佳答案 该数组实际上会响应valueForKeyPath函数-您只需将数组转换为AnyObject,这样编译器就不会报错。如下:varmax=(numbersasAnyObject).value