我有这个字符串:
1#3.doc#0.036/n
2#1.doc#0.026/n
Run Code Online (Sandbox Code Playgroud)
我想将其拆分#并像这样将每一行放在DataTable中的一行中:
1 3.doc 0.036
2 1.doc 0.026
Run Code Online (Sandbox Code Playgroud)
我有一个这样的数据表:
DataTable table = new DataTable();
table.Columns.Add("Id", typeof(int));
table.Columns.Add("FileName", typeof(string));
table.Columns.Add("Content", typeof(string));
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
这是将字符串拆分为几行,然后将这些行拆分为不同部分的方法。
您的字符串首先被换行符分割\n成一个行数组string[]。
然后,将这些线一一分成Split('#')。
最后,这些部分与您创建的列一起添加到您的表中。
记住要保存创建的列,不要忘记将新创建的行添加到表中。
DataTable table = new DataTable();
DataColumn colID = table.Columns.Add("Id", typeof(int));
DataColumn colFileName = table.Columns.Add("FileName", typeof(string));
DataColumn colContent = table.Columns.Add("Content", typeof(string));
string source = "1#3.doc#0.036\n2#1.doc#0.026\n";
string[] lines = source.Split('\n');
foreach(var line in lines)
{
string[] split = line.Split('#');
DataRow row = table.NewRow();
row.SetField(colID, int.Parse(split[0]));
row.SetField(colFileName, split[1]);
row.SetField(colContent, split[2]);
table.Rows.Add(row);
}
Run Code Online (Sandbox Code Playgroud)
row["FileName"] = data也可以使用将数据添加到行中,但是如果更改列的名称,这将中断,而对列对象的引用由编译器和IDE检查。另外本文介绍如何创建一个类型化的DataTable,这是你可能想要做的事。
| 归档时间: |
|
| 查看次数: |
7860 次 |
| 最近记录: |