windows C#-在查询中返回元素属性的子集

当下列两个条件都满足时,可在查询表达式中使用匿名类型:

  • 只想返回每个源元素的某些属性。
  • 无需在执行查询的方法的范围之外存储查询结果。

如果只想从每个源元素中返回一个属性或字段,则只需在 select 子句中使用点运算符。 例如,若要只返回每个 student 的 ID,可以按如下方式编写 select 子句:

复制代码
select student.ID;
示例

下面的示例演示如何使用匿名类型只返回每个源元素的符合指定条件的属性子集。

复制代码
private static void QueryByScore()
{
    // Create the query. var is required because
    // the query produces a sequence of anonymous types.
    var queryHighScores =
        from student in students
        where student.ExamScores[0] > 95
        select new { student.FirstName, student.LastName };

    // Execute the query.
    foreach (var obj in queryHighScores)
    {
        // The anonymous type's properties were not named. Therefore
        // they have the same names as the Student properties.
        Console.WriteLine(obj.FirstName + ", " + obj.LastName);
    }
}
/* Output:
Adams, Terry
Fakhouri, Fadi
Garcia, Cesar
Omelchenko, Svetlana
Zabokritski, Eugene
*/

请注意,如果未指定名称,匿名类型会使用源元素的名称作为其属性名称。 若要为匿名类型中的属性指定新名称,请按如下方式编写 select 语句:

复制代码
select new { First = student.FirstName, Last = student.LastName };

如果在上一个示例中这样做,则 Console.WriteLine 语句也必须更改:

复制代码
Console.WriteLine(student.First + " " + student.Last);
编译代码

要运行此代码,请使用 System.Linq 的 using 指令将该类复制并粘贴到 C# 控制台应用程序中。

相关推荐
神仙别闹15 小时前
基于 C++ 实现(控制台)学生成绩管理系统
开发语言·c++
伞伞悦读16 小时前
【第36期】Python 目录与路径详解:pathlib、文件遍历、创建、复制、移动和删除风险
开发语言·python
林川~0116 小时前
Unity 万能物理检测工具:射线检测 / 范围检测 / 层级过滤 / 编辑器可视化(可直接拿去用)
游戏·unity·c#·射线检测·通用工具
2601_9669496519 小时前
只拿到股票代码还不够:量化程序到底还需要哪些标的信息?——从数据建模开始理解股票元数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
m0_7345717619 小时前
深入理解5g <十八>传输块tbsize的计算
开发语言·5g
He BianGu20 小时前
【WPF-VisionMaster】机器视觉通用平台V5.0版本发行说明
opencv·c#·wpf·halcon·机器视觉·visionmaster
tang_042720 小时前
【Hi.Ltd 专题】第9期:Interop 配置互操作(JSON/INI/XML/YAML/注册表/扫码)
经验分享·c#·hi.ltd系列
RAN114267600820 小时前
1.3第一个程序的介绍
开发语言·qt
blue_ice .21 小时前
Verilog DDS 数字信号发生器:DAC 输出模拟波形与 ADC 回采观测
开发语言·单片机·嵌入式硬件·fpga开发
远翔调光芯片^1382879887221 小时前
ECP5702能芯科技PD取电芯片在市场上的优势有哪些?
开发语言·人工智能·单片机·嵌入式硬件·智能家居