优秀的编程知识分享平台

网站首页 > 技术文章 正文

C#Linq where和select用法

nanyue 2025-02-10 13:40:02 技术文章 4 ℃

一、select用法

Linq中的select可以使我们的对List中的每一项进行操作,生成新的列表。

1、lambda表达式

int[] array = { 1,5,6,7,6,9,12,2,7,6,33};
List l1 = new List(array);
var t1 = l1.Select((p)=>p+10);
foreach (var item in t1)
{
     Console.WriteLine(item);
}

2、Linq语法

List stuList = new List()
{
	new Student(){ID=1,Name="John",Chinese=92,Math=88,English=92},
	new Student(){ID=2,Name="Mary",Chinese=87,Math=94,English=82},
	new Student(){ID=3,Name="KangKang",Chinese=89,Math=91,English=96},
	new Student(){ID=4,Name="Maria",Chinese=88,Math=65,English=94},
	new Student(){ID=5,Name="Ben",Chinese=70,Math=91,English=82},
};
var t1 = from e in stuList select e.English;
foreach (var item in t1)
{
	Console.WriteLine(item);
}

二、SelectMany用法

在C# Linq中,SelectMany方法用于将一个集合中的每个元素转换为另一个集合,并将所有转换后的集合合并为一个新集合。

List> list = new List>()
{
    new List() { 1, 2, 3 },
    new List() { 4, 5, 6 },
    new List() { 7, 8, 9 }
};
var result = list.SelectMany(x => x);
foreach (var item in result)
{
    Console.WriteLine(item);
}

三、where用法

where在Linq中主要进行对数据筛选,并且生成新的List

List stuList = new List()
{
	new Student(){ID=1,Name="John",Chinese=92,Math=88,English=92},
	new Student(){ID=2,Name="Mary",Chinese=87,Math=94,English=82},
	new Student(){ID=3,Name="KangKang",Chinese=89,Math=91,English=96},
	new Student(){ID=4,Name="Maria",Chinese=88,Math=65,English=94},
	new Student(){ID=5,Name="Ben",Chinese=70,Math=91,English=82},
};


//lambda表达式 表达式内部填的是判断条件
var t1 = stuList.Where(p => p.English == 88);


// Linq 语句
var t1 = from e in stuList where e.English == 82 select e;

需要注意的是Lambda表达式中不需要select结尾,但Linq 语句必须是select结尾否则报错

四、C# linq 将数组转换为以逗号分隔的字符串

string[] array = { "A", "B", "C", "D" };
string str = string.Join(",", array);
  • C#入门篇章—Class类专题
  • C#入门篇章—数据结构
  • C#入门篇章—设计模式
  • C#入门篇章—基础语法
  • C#入门篇章— IO操作



Tags:

最近发表
标签列表