我有一个只有一列的dataTable。我想根据列值拆分成两列
我的数据表看起来像下面这样
Message
--------
PR-111 : test message
输出应如下所示
PRNo Message
------ -----------
PR-111 test message
我尝试过遍历datatable,并通过如下所示拆分列值来创建行,但这不是有效的方法。
DataTable dt1Copy = new DataTable();
dt1Copy.Columns.Add("PRNumber", typeof(string));
dt1Copy.Columns.Add("Message", typeof(string));
foreach (DataRow drNew in dt1.Rows)
{
string message = Convert.ToString(drNew["Message"]);
var listData = message.Split(':').ToList();
DataRow drCreated = dt1Copy.NewRow();
drCreated["PRNumber"] = listData[0];
drCreated["Message"] = listData[1];
dt1Copy.Rows.Add(drCreated);
}
有没有人能提出一个更好的方法来做到这一点?
1条答案
按热度按时间tyu7yeag1#
你可以使用
linq
来实现。为了使dataTable
在linq
中可用,它必须是AsEnumerable()