深入理解 c# 第十一章 不用let子句按照用户名称的长度来排序,并显示名称和长度

   class OrderUsersByLengthOfNameWithoutLet
    {
        static void Main()//不用let子句按照用户名称的长度来排序,
		//并显示名称和长度
        {
            var query = from user in SampleData.AllUsers
                        orderby user.Name.Length
//user {User: Tim Trotter (Tester)}						
//{User: Tara Tutu (Tester)}		
//{User: Deborah Denton (Developer)}				
//{User: Darren Dahlia (Developer)}	
//{User: Mary Malcop (Manager)}
//{User: Colin Carton (Customer)}


                        select user.Name;
//{User: Tara Tutu (Tester)}
//query {System.Linq.Enumerable.WhereSelectEnumerableIterator<Model.User,string>}
            foreach (var name in query)
			//in 调用user.Name.Length
			//name 
			//"Tara Tutu"
			//"Tim Trotter"
			//"Mary Malcop"
			//"Colin Carton"
			//"Darren Dahlia"
			//"Deborah Denton"
			
            {
                Console.WriteLine("{0}: {1}", name.Length, name);
            }
        }
    }


let子句和透明标识符
用let来进行中间计算
  let子句引入了一个新的范围变量,它的值是基于其他范围变量。语法是机器简单
的:
  let 标识符=表达式
  假设查找字符串长度是一种非常昂贵的操作。现在,想象我们有一个非常奇异的

系统需求:按照用户名称的长度来排序,并显示名称及长度。


输出
 9: Tara Tutu
11: Tim Trotter
11: Mary Malcop
12: Colin Carton
13: Darren Dahlia
14: Deborah Denton

猜你喜欢

转载自blog.csdn.net/eyetired/article/details/80153854