我正在编写一个简单的导入应用程序,需要读取CSV文件,在a中显示结果DataGrid并在另一个网格中显示CSV文件的损坏行.例如,显示另一个网格中短于5个值的行.我试着这样做:
StreamReader sr = new StreamReader(FilePath);
importingData = new Account();
string line;
string[] row = new string [5];
while ((line = sr.ReadLine()) != null)
{
row = line.Split(',');
importingData.Add(new Transaction
{
Date = DateTime.Parse(row[0]),
Reference = row[1],
Description = row[2],
Amount = decimal.Parse(row[3]),
Category = (Category)Enum.Parse(typeof(Category), row[4])
});
}
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,在阵列上操作非常困难.有没有更好的方法来分割价值观?
我在.NET Framework 4.0上,在VisualStudio 2012中构建了一个C#Web应用程序.我添加了Microsoft.VisualBasic作为项目的参考.我遇到以下代码行的问题:
使用Microsoft.VisualBasic.FileIO;
构建解决方案会返回错误:命名空间"Microsoft.VisualBasic"中不存在类型或命名空间名称"FileIO"(您是否缺少程序集引用?)
我已删除并重新添加对程序集Microsoft.VisualBasic的引用,但仍然得到错误.Microsoft.VisualBasic位于GAC,以及Microsoft.VisualBasic.Compatibility,Microsoft.VisualBasic.Compatibility,Microsoft.VisualBasic.PowerPacks.Vs和Microsoft.VisualBasic.Vsa.
请让我知道如何让VS2012识别FileIO命名空间.