我有一個關於DataRows
的問題。我有一個DataTable
,然後我轉換成DataRow
的列表。現在我想要存儲在每個DataRow
中的字符串信息。我怎樣才能做到這一點?這是我的代碼:獲取c#中datarow的值
List<DataRow> list = dt.AsEnumerable().ToList();
我有一個關於DataRows
的問題。我有一個DataTable
,然後我轉換成DataRow
的列表。現在我想要存儲在每個DataRow
中的字符串信息。我怎樣才能做到這一點?這是我的代碼:獲取c#中datarow的值
List<DataRow> list = dt.AsEnumerable().ToList();
只需使用索引來訪問每個元素。以下代碼將訪問列表中的第一個元素。
list[0].MyString;
什麼是mystring? – Ryan
您嘗試訪問的屬性的名稱。 – BentOnCoding
你可以通過列表[0] [「columnname」]或列索引訪問每個單獨的列,如列表[0] [0] – Slider345
你能做到這一點,
foreach(var row in list)
{
var value = row["ColumnName"] as string;
}
或該得到 「的ColumnName」 懶洋洋的所有字符串值。
var values = list.Select(row => row["ColumnName"] as string);
爲什麼要將DataTable轉換爲列表?就是想。
我實際上需要數據行的所有內容作爲列表元素,所以我可以更容易地操作它們 – Ryan
由於數據行將包含對象,因此必須將它們全部轉換爲適當的類型,並使用一些非泛型列表(ArrayList,例如)將DataRow內容移動到數組中。這不一定是最好的辦法,但這取決於你的情況。 –
List <>比DataTable更方便,但是如果你的表格很大,那麼使用'dt'本身可以避免創建一個接近重複的數據結構。畢竟,它可以像List <>一樣進行索引。我說過這個在過去犯過同樣的錯誤,然後遇到龐大的數據集。像這樣創建列表可能會很慢。 :) –
這應該可以做到。 string t = list[row]["column name"].ToString();
你將不得不在DataRow的使用標準索引:
string someValue =
list[0]["SomeColumn"] as string;
或者,如果你想與數據從行來的數組工作,
ArrayList lst = new ArrayList(list[INDEX_OF_THE_ROW].Count);
foreach(object value in list[INDEX_OF_THE_ROW])
{
lst.Add(value);
}
List<DataRow> list = dt.AsEnumerable().ToList();
var mystring = list[0]["ColumnName"].ToString();
「現在我想要在每個數據行中存儲字符串信息。」這有點令人困惑。你想要連接一個特定列的所有值嗎?也許是'List'或其他一些數據收集?也許你想寫出來的文件? –