Linq有很多值得学习的地方,这里我们主要介绍选择各个Linq源元素的子集,包括介绍对Linq源元素执行操作等方面。
选择各个Linq源元素的子集
选择源序列中的各个Linq源元素的子集有两种主要方法:
1、若要只选择Linq源元素的一个成员,请使用点运算。在下面的示例中,假定 Customer 对象包含几个公共属性,其中包括名为 City 的字符串。在执行此查询时,此查询将生成字符串输出序列。
- var query = from cust in Customers
- select cust.City;
2、若要创建包含Linq源元素的多个属性的元素,可以使用具有命名对象或匿名类型的对象初始值设定项。下面的示例演示如何使用匿名类型来封装各个 Customer 元素的两个属性:
- var query = from cust in Customer
- select new {Name = cust.Name, City = cust.City};
对Linq源元素执行操作
输出序列可能不包含源序列的任何元素或元素属性。输出可能是通过将Linq源元素用作输入参数计算出的值的序列。在执行下面这个简单查询时,此查询会输出一个字符串序列,该序列值表示根据 double 类型的元素的源序列进行的计算。
- class FormatQuery
- {
- static void Main()
- {
- // Data source.
- double[] radii = { 1, 2, 3 };
- // Query.
- IEnumerable<string> query =
- from rad in radii
- select String.Format("Area = {0}", (rad * rad) * 3.14);
- // Query execution.
- foreach (string s in query)
- Console.WriteLine(s);
- // Keep the console open in debug mode.
- Console.WriteLine("Press any key to exit.");
- Console.ReadKey();
- }
- }
【编辑推荐】