相关疑难解决方法(0)

如何使用LINQ在集合中选择集合?

我有以下结构.

public class ToolSettings
{
  public string Extension { get; set; }
  public ObservableCollection<Tool> Tools { get; set; }
}

public class Tool
{
  public string Name { get; set; }
  public string Command { get set; }
}

// Within app code
public ObservableCollection<ToolSettings> settings { get; set; }
Run Code Online (Sandbox Code Playgroud)

我想从设置集合中获取Tools集合,其中Extension等于某个字符串.

下面是我的LINQ代码,但是当我知道还有更多时,我只收集了我的收藏中的一个项目.看起来它产生了一个集合的集合,这就是为什么只有一个项目.

myListBox.ItemsSource = from i in settings 
                        where i.Extension == myExtension 
                        select i.Tools;
Run Code Online (Sandbox Code Playgroud)

编辑:

感谢所有好的(和快速的)答案.事实证明我只需要第一个项目,但我知道SelectMany方法将来会派上用场.所以,感谢所有的提醒.这是我使用的完整解决方案.

myListBox.ItemsSource = (from i in settings 
                         where i.Extension == myExtension 
                         select i.Tools).First();
Run Code Online (Sandbox Code Playgroud)

c# linq binding

2
推荐指数
1
解决办法
5945
查看次数

标签 统计

binding ×1

c# ×1

linq ×1