2014-02-18 89 views
-1
while (sqlreader.Read()) 
{ 
    missionIdList.Add(Convert.ToInt32(sqlreader[0].ToString())); 
} 

一列添加到列表<>在上面的代碼段中,missionIdList是List<long>類型和SQLReader的返回與3列的行的n個。如何在運行運行時

如何添加第四列(類型uniqueidentifier-.NET Guid)的值來自.NET變量的列表。

我想從sqlreader中獲取3列,爲每行返回的第四列添加4列的missionIdList List<>

還要注意的是通過SQLReader的返回的所有列都是整數,但第四列我想補充的是一個.NET的Guid

+0

您是否嘗試在您的sql查詢中添加此列? –

+0

@SonerGönül,該列不在數據庫中,它來自.NET變量。 – StackTrace

+2

*你想擁有什麼? –

回答

0

您可能需要使用匿名類型。 你的代碼應該看起來像這樣。

var missionIdList = new List<object>(); 

while (sqlreader.Read()) 
{ 
    var obj = new { c1 = Convert.ToInt32(sqlreader[0].ToString()), 
        c2 = Convert.ToInt32(sqlreader[1].ToString()), 
        c3 = Convert.ToInt32(sqlreader[2].ToString()), 
        uid = uid }; 
    missionIdList.Add(obj); 
} 

但是,如果你不需要它運行時添加(因爲你知道你要獲得什麼),你只要建立你的類在使用之前,將它們添加到您的列表類型。這是正確和首選的方式。

+0

創建一個真實的類而不是匿名類可能會好很多。否則,除非使用'dynamic'關鍵字,否則無法將對象從列表中移出。 –