我有一个关于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'或其他一些数据收集?也许你想写出来的文件? –