gpt4 book ai didi

c# - DataTable 具有多个可能的 Column 名称

转载 作者:太空宇宙 更新时间:2023-11-03 20:57:25 24 4
gpt4 key购买 nike

从数据表和列名称导入数据可以有多个名称值,例如。该列可能被称为“姓名”,也可能被称为“名字”或“F 姓名”

有没有比做很多 If else 来分配列值更有效的方法

我现在有的是

   foreach (DataRow item in datatable.Rows)
{
var csvEmployee = new CsvEmployee();

if(datatable.Columns.Contains("Name"))
csvEmployee.FirstName = item["Name"].ToString();
else if (datatable.Columns.Contains("First Name"))
csvEmployee.FirstName = item["First Name"].ToString();
else if (datatable.Columns.Contains("F Name"))
csvEmployee.FirstName = item["F Name"].ToString();
}

最佳答案

在 FOR 语句之前检查您的列的名称(通过 Columns.Contains),将其分配给变量并在循环中使用它。顺便说一句:尽量不要使用 ToString 方法。

        string columnName = null;
if (datatable.Columns.Contains("Name"))
columnName = "Name";
else if (datatable.Columns.Contains("First Name"))
columnName = "First Name";
else if (datatable.Columns.Contains("F Name"))
columnName = "F Name";
if (columnName == null)
return;
foreach (DataRow item in datatable.Rows)
{
var csvEmployee = new CsvEmployee();
csvEmployee.FirstName = item[columnName].ToString();
}

关于c# - DataTable 具有多个可能的 Column 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49049059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com