📜  C# linq mselect - C# (1)

📅  最后修改于: 2023-12-03 15:13:49.211000             🧑  作者: Mango

C# Linq mSelect

C# Linq mSelect 是 C# 中 Linq 的一种方法,用于从集合中选择多个属性或生成一个新的类。

语法
var result = collection.mSelect(x => new { Property1 = x.Property1, Property2 = x.Property2 });

其中,collection 为集合的名称,x 指集合中的元素,新生成的匿名类包含多个属性,通过 Lambda 表达式生成。

示例

假设有一个学生类,拥有姓名、年龄、分数等属性。

public class Student
{
    public string Name { get; set; }
    public int Age { get; set; }
    public int Score { get; set; }
}

有一个学生集合,包含多个学生对象。

var students = new List<Student>
{
    new Student{Name = "Amy", Age = 18, Score = 80},
    new Student{Name = "Bob", Age = 20, Score = 90},
    new Student{Name = "Chris", Age = 19, Score = 85}
};

现在需要从学生集合中选择姓名和分数两个属性,生成一个新的匿名类的集合。

var result = students.mSelect(x => new { Name = x.Name, Score = x.Score });

得到的 result 集合将包含以下内容:

{
    new {Name = "Amy", Score = 80},
    new {Name = "Bob", Score = 90},
    new {Name = "Chris", Score = 85}
}
注意事项
  • mSelect 方法返回的是一个新的集合,不会对原集合进行修改。
  • 新生成的类是一个匿名类型,可以使用 var 关键字进行声明。
  • 可以选择多个属性或将多个属性综合为一个新的类。
  • Lambda 表达式中的 x 可以替换为任意标识符。