[英]How to read all lines from notepad comma separated and updated specific column conditionally in C#
我们如何从记事本逗号中读取所有行,并以有条件的方式分隔并更新特定的列,它成功地迭代了没有错误,但是没有更新C#中的值
string[] existingLines = File.ReadAllLines(filepath);
foreach (var row in existingLines)
{
row.Split(Text_Separator)[0] = "Test Data";
}
var newdata = existingLines;
您需要在迭代过程中使用for
循环来修改项目。 我相信如果使用foreach
会出错。 这是因为您要公开一个只读的枚举器。
这将遍历每一行,修改一列并替换当前行。
string[] existingLines = File.ReadAllLines(filepath);
foreach (var i = 0; i < existingLines.Length; i++)
{
// retrieve row by index
var row = existingLines[i];
// split into array of columns
var columns = row.Split(Text_Separator);
// update column
columns[0] = "Test Data";
// create row from array of columns
var updatedRow = string.Join(Text_Separator, columns);
// update row in array of rows
existingLines[i] = updatedRow;
}
var newdata = existingLines;
String.Split
方法将创建一个字符串数组的新实例,该实例不会引用到existingLines
变量。 因此,更新从Split
返回的值不会反映在existingLines
String[] stringArray = splitStrings;
if( arrIndex!= maxItems) {
stringArray = new String[arrIndex];
for( int j = 0; j < arrIndex; j++) {
stringArray[j] = splitStrings[j];
}
}
return stringArray;
https://github.com/Microsoft/referencesource/blob/master/mscorlib/system/string.cs
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.