我一直在寻找,但我似乎无法找到一个好方法。目前我已经从我的SQL表中获得DataRowCollection
,但我希望有一种更有效的方法从单元格中获取字符串。
这是我目前要做的事情:
foreach (DataRow row in DataRowCollection)
string firstName = row["FirstName"].toString();
string lastName = row["LastName"].toString();
string email = row["Email"].toString();
etc...
}
我已经尝试创建一个包含字符串列表的列表,但它似乎也没有按照我喜欢的方式运行。 但我想要有一些东西而不必像这样使用“toString()”...
foreach (DataRow row in DataRowCollection)
string firstName = row["FirstName"];
string lastName = row["LastName"];
string email = row["Email"];
}
我觉得这会让事情变得更加整洁,所以我不必设置变量,只需在获取值时使用row["column"]
。
最简单的方法是什么?
答案 0 :(得分:0)
使用System.Data.DataSetExtensions
中的extension methods进行强类型数据访问。
var firstName = row.Field<string>("FirstName");
var lastName = row.Field<string>("LastName");
var email = row.Field<string>("Email");
编辑:要将DataTable
转换为List<List<string>>
,请使用Linq
实施例
var list = dataTable.Rows
.Cast<DataRow>()
.Select(dr => dr.ItemArray.Cast<string>())
.ToList();
或嵌套的foreach
var list = new List<List<string>>();
foreach (var row in DataRowCollection) {
var subList = new List<string>();
foreach (var item in row.ItemArray)
subList.Add(item.ToString());
list.Add(subList);
}