【发布时间】:2013-07-25 12:30:39
【问题描述】:
我必须导入一个 CSV 文件。由于行序对数据很重要,因此我需要将其作为导入(索引)的一部分。 我现在要做的(解决方法)如下:
string[] allLines = File.ReadAllLines(soureFilePath, Encoding.Default);
//Add Line-Index
for (int i = 0; i < allLines.Length; i++)
{
allLines[i] = i + ";" + allLines[i];
}
_sourceList = (from line in allLines.Skip(1)
let data = line.Split(new[] {';'}, StringSplitOptions.None)
select
new MappingSource
{
Index = Convert.ToInt32(data[0]),
TargetEntity = data[1].Trim(),
TargetFolder = data[2].Trim(),
TargetLevel = data[3].Replace(',', '.').Trim(),
FolderDefinition = data[4].Trim(),
Type = data[5].Trim(),
SourceFolder = data[6].Trim(),
SourceLevel = data[7].Replace(',', '.').Trim(),
BucketStructure = data[8].Trim()
}).ToList();
我觉得这不是很优雅。有没有办法在 Linq-Statement 中获得正确的索引?
感谢
【问题讨论】:
-
必须是LINQ查询语法吗?或者也可以是方法语法?
-
任何一种方式都可以。蒂姆已经用方法语法回答了它:)