作为最近项目的一部分,我必须从CSV文件中读取和写入并放入c#中的网格视图中.最后决定使用一个现成的解析器为我做的工作.
因为我喜欢做那种东西,我想知道如何写自己的东西.
到目前为止,我所做的就是:
//Read the header
StreamReader reader = new StreamReader(dialog.FileName);
string row = reader.ReadLine();
string[] cells = row.Split(',');
//Create the columns of the dataGridView
for (int i = 0; i < cells.Count() - 1; i++)
{
DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
column.Name = cells[i];
column.HeaderText = cells[i];
dataGridView1.Columns.Add(column);
}
//Display the contents of the file
while (reader.Peek() != -1)
{
row = reader.ReadLine();
cells = row.Split(',');
dataGridView1.Rows.Add(cells);
}
Run Code Online (Sandbox Code Playgroud)
我的问题:这样做是一个明智的想法,如果是(或不是),我将如何正确地测试它?
作为一项编程练习(用于学习和获得经验),这可能是一件非常合理的事情.对于生产代码,使用现有库可能更好,主要是因为工作已经完成.使用CSV解析器可以解决很多问题.例如(随机离开我的头顶):
但是,如果在非常受控的环境中有非常特定的输入格式,则可能不需要处理所有这些格式.