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# 控制台应用程序中。

相关推荐
a努力。7 分钟前
国家电网Java面试被问:二叉树的前序、中序、后序遍历
java·开发语言·后端·面试
JAVA+C语言10 分钟前
C++ 继承与派生
开发语言·c++
fiveym17 分钟前
PXE启动菜单配置完全指南:打造高效网络装机入口
开发语言·网络·php
chao18984421 分钟前
基于MATLAB实现NSGA-II算法
开发语言·算法·matlab
未来之窗软件服务21 分钟前
幽冥大陆(五十七)ASR whisper-cli命令行使用 C语言—东方仙盟筑基期
c语言·开发语言·whisper·仙盟创梦ide·东方仙盟·东方仙盟自动化·东方仙盟商业开发
lly20240622 分钟前
Foundation 网格 - 中型设备
开发语言
前端达人23 分钟前
原生JavaScript vs 前端框架,2026年该怎么选?
开发语言·前端·javascript·前端框架·ecmascript
qq_3771123731 分钟前
JAVA的平凡之路——此峰乃是最高峰JVM-GC垃圾回收器(1)-06
java·开发语言·jvm
froginwe1140 分钟前
HTML 标题
开发语言
悠哉悠哉愿意44 分钟前
【嵌入式学习笔记】任务调度器
开发语言·笔记·单片机·嵌入式硬件·学习