【发布时间】:2022-01-02 14:32:40
【问题描述】:
我创建了一个 foreach,它可以读取 .csv 文件中的各个字段并将它们插入到 xml 文件中。 我想知道在读取一系列行(例如 10 行)后是否有可能阻塞循环。 我该怎么办?
List<string> lines = File.ReadAllLines(path).ToList();
lines.RemoveAt(0);
XmlTextWriter writer = new XmlTextWriter(savepath, Encoding.UTF8);
writer.WriteStartDocument();
writer.WriteStartElement("DC8_Recipe");
foreach (var line in lines){
var csvItem = line.Split(';');
writer.WriteStartElement("DC8_Recipe");
writer.WriteAttributeString("PlantNo", "01");
writer.WriteAttributeString("FactoryNo", "01");
writer.WriteAttributeString("No", csvItem[0].Replace('"', ' '));
writer.WriteAttributeString("Name", csvItem[2]);
writer.WriteAttributeString("ShortName", csvItem[3]);
writer.WriteEndElement();
writer.WriteStartElement("RecipeSetValueRow");
writer.WriteAttributeString("SetValue", csvItem[12]);
writer.WriteStartElement("Material");
writer.WriteAttributeString("No", csvItem[10]);
writer.WriteEndElement();
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
【问题讨论】:
-
或使用.Take(10)
-
添加
break;无效? -
使用异步等待?
-
在foreach前声明
int counter=0;,在foreach结束标签前添加if (counter++)>10 break;
标签: c# xml csv for-loop foreach