首页 > 代码库 > Linq:Select使用示例

Linq:Select使用示例


一,select简单实用



          select作用:select在一个集合序列按照给定的条件进行投影,select可以返回组合的筛选结果,返回匿名类型,对返回结果进行操作,返回组合的子查询结果等等。

              

             select方法的原型如下:

public static IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, TResult> selector)

         对于select方法的示例:


//select
//1,返回数据源类型的属性
//	from s in T_StuInfo where s.StuNum=="1"
//				select s.StuName
	
//2,返回数据源类型筛选后的结果
//	from s in T_StuInfo where s.StuNum=="1"
//				select s
	
			
//3,新类型
//	from s in T_StuInfo where s.StuNum=="1"
//		select new T_StuInfo {StuNum=s.StuName}


//4,返回匿名类型
//	from s in T_StuInfo where s.StuName=="1"
//		select new{name= s.StuName}
		
		
/,5,对返回结果进行操作
//		from s in T_StuInfo where s.StuNum=="1"
//			select s.ToString()
//		
	




           对于语句,我们可以在linq pad里面转换成lambda表达式,如下:





    










二,selectMany


           selectMany方法方法可以去除for二重循环的判断select,非常好用。

        

          示例如下:


         

///SelectMany
//SelectMany原型:
//////public static IEnumerable<TResult> SelectMany<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, IEnumerable<TResult>> selector)
//string实现了IEnumerable<T>接口,可以构造这样的场景:查询组成学生姓名的所有字符序列。
//	from s in T_StuInfo 
//		from name in s.StuName
//			select name
			
//			T_StuInfo.SelectMany(s=>s.StuName,(s,name)=>name)




          小结:

               linq语句简化了查询,而且将查询的过程变得可调试,非常方便。

               






Linq:Select使用示例