2011-01-27 63 views
0

我想查詢一個類對象。使用linq查詢類對象

我的類:

public class Result 
{ 
    public List<Driver> Drivers { get; set; } 
    public List<Vehicle> Vehicles { get; set; }  
} 

我有沒有辦法,我想過去這個類

public string BuildRequestXML(Result input) 
    { 
     var driverNames = new List<Name>(); 
     input.Drivers.ForEach(cd => driverNames.Add(cd.Name)); 
    }                       

我得到的對象引用未設置爲實例錯誤@的代碼在第二行的一個目的上述功能。
在此先感謝。 BB。

+0

您是否嘗試過調試它?檢查異常堆棧跟蹤? VS中的斷點?有了這樣的描述,它似乎是一個最簡單的錯誤調試。 – Snowbear 2011-01-27 21:50:23

回答

2

你必須調試找哪一個它是,但這種例外可能是因爲inputinput.Drivers爲空。在Drivers列表中甚至可以有一個空Driver

至於你driversName列表,你可以重寫,作爲

var driverNames = input.Drivers.Select(driver => driver.Name).ToList(); 
+0

謝謝安東尼。我看到我的驅動程序列表count = 1.我仍然收到此錯誤。請參閱原始問題附帶的屏幕截圖。 – BumbleBee 2011-01-27 22:13:36

2

我不知道是什麼原因,你收到此問題,但是,更好的方法是使用一個選擇「投影」如下:

driverNames = input.Drivers.Select(d => d.Name).ToList(); 
+0

科林謝謝。輸入和驅動程序不爲空。我仍然有同樣的錯誤。 – BumbleBee 2011-01-27 22:29:26