gpt4 book ai didi

linq - C# Linq SelectMany,返回整个对象

转载 作者:行者123 更新时间:2023-12-04 05:07:20 26 4
gpt4 key购买 nike

我有一个这样的类(class):

public class FileCollection:ObservableCollection<IUserFile>.  

从类(class)内部,我想根据名称列表获取集合的子集。

我想它会是这样的:
List<IUserFile> selectedFiles = new List<IUserFile>;
foreach(string s in names)
{
var matchingFiles = this.SelectMany(userFile => userFile.Name.Equals(s));
foreach(IUserFile uf in matchingFiles)
{
selectedFiles.Add(uf);
}
}

此时,我遇到了 Select 或 SelectMany 调用的问题;编译器错误消息没有那么有用。
任何关于如何从集合中提取子集的建议将不胜感激......

最佳答案

使用 Where 相反 - “根据谓词过滤一系列值” - 这样:

var matches = this.Where(userFile => userFile.Name.Equals(s)); 

而不是 SelectMany ,它“将序列的每个元素投影到 IEnumerable 并将结果序列展平为一个序列。”

关于linq - C# Linq SelectMany,返回整个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15365950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com