0
我創建了一個使用LinqToSql的控制檯應用程序。它工作得很好,但我覺得它是一種代碼味道。這裏是我的linq查詢:如何重構C#linq代碼?
var personnelInfo = Personnels.Where(p => p.Name.Equals("Steve Jobs"));
現在,我想報告該對象的各個領域。這是我覺得是代碼味道:
Console.WriteLine(String.Format("Emp ID = {0}", personnelInfo.Select(p => p.EmpID).FirstOrDefault()));
Console.WriteLine(String.Format("Phone# = ({0}) {1}-{2}",
personnelInfo.Select(p => p.Phone).FirstOrDefault().Substring(0,3),
personnelInfo.Select(p => p.Phone).FirstOrDefault().Substring(3,3),
personnelInfo.Select(p => p.Phone).FirstOrDefault().Substring(6,4)));
Console.WriteLine(String.Format("City = {0}", personnelInfo.Select(p => p.City).FirstOrDefault()));
這可以重構嗎?