1. 程式人生 > WINDOWS開發 >C# 初始化設定項可以為LINQ查詢中的匿名型別進行屬性的初始化

C# 初始化設定項可以為LINQ查詢中的匿名型別進行屬性的初始化

由於LINQ查詢返回的集合中匿名型別的屬性都是隻讀的,如果需要為匿名屬性賦值,只能通過初始化設定項來進行。初始化設定項還能為屬性使用表示式。

 1 class Program
 2 {
 3     static void Main(string[] args)
 4     {
 5         List<Person> personList = new List<Person>()
 6         {
 7             new Person(){Name="Rose",Age=18}, 8             new Person(){Name="
Mike",Age=25}, 9 new Person(){Name="john",Age=18} 10 }; 11 var items = from p in personList 12 select new { p.Name,AgeScope = p.Age > 20 ? "Old" : "Young" }; 13 foreach (var item in items) 14 { 15 Console.WriteLine(string.Format("
{0}:{1}",item.Name,item.AgeScope)); 16 } 17 Console.Read(); 18 } 19 } 20 class Person 21 { 22 public string Name { get; set; } 23 public int Age { get; set; } 24 }

這段程式碼在LINQ查詢中建立了一個匿名型別,該型別含有屬性Name和AgeScope。

參考:《編寫高質量程式碼改善C#程式的157個建議》陸敏技