c# - 如何用方法语法编写查询

标签 c# .net linq

如果有一个名为 PrintersPrinter 类的 ObservableCollection...
每个 Printer 都包含属性 IsSelected (bool) 和 Index (int)...
如何将以下 LINQ 查询从查询​​语法转换为方法语法?

string[] printerListing = 
    (from p in Printers
    where p.IsSelected
    select p.Index.ToString()).ToArray();

我想到了以下内容,但它只返回查询中的第一个 Printer(为了便于阅读,分成多行):

var printers2 =
    Printers.Where(p => p.IsSelected)
    .FirstOrDefault()
    .Index.ToString().ToArray();

最佳答案

使用.Select() ,其功能类似于查询语法中的 select 关键字。

var printers2 = Printers
                    .Where(p => p.IsSelected)
                    .Select(x => x.Index.ToString())
                    .ToArray();

关于c# - 如何用方法语法编写查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38101986/

相关文章:

c# - 使用 nunit 测试事件

c# - 如何使用 Entity Framework 将二进制图像从数据库加载到asp.net(无MVC)中的imagebox.imageurl

c# - OCR 引擎从图像中捕获字符

c# - 找不到按钮调用的方法

.net - 如何从ListView控件的单个项目中删除复选框?

c# - 动态重新加载引用 (C# .NET)

c# - 使用 AesCryptoServiceProvider 获取不正确的解密值

c# - 为什么 IF 语句会影响我的 LINQ 语句的结果?

c# - 跟踪 .ToListing EF Linq 查询之前匹配的表达式数量

c# - 从 C# 中的 PL/SQL 匿名 block 返回游标