使用C#编辑文本文件中的行

时间:2016-07-13 18:57:41

标签: c# text text-files editing

与其他"编辑文本文件"相比,我遇到了一个稍微不同的问题。问题。例如,我有以下文本文件:

Cal Test
{
     Feature 0.0 1.0 2.0 7.5
     Feature 0.0 -1.0 2.0 -7.5
     .etc
}

假设我在此文本文件中有大约一百Feature行。基本上,数字代表数据点;所以前两个数字代表数据点:(0.0, 1.0),第二个数字代表第二个数据点:(2.0, 7.5);它表示另一个接收文本文件的程序中的一行。

我想做的是逆时针旋转每个数据点90度;这意味着(a, b)(b, -a)。我知道如何做到这一点,逐行阅读和编辑点,我想知道,是否有一种更有效的方式来交换(a,b)并附加负数?

1 个答案:

答案 0 :(得分:0)

如前所述,不是一个很大的改进,但

使用ReadLines()获取项目列表,就像您在

上所做的那样
var list = new List<string>(); // or whatever structure you use to keep items in memory

foreach(var line in File.ReadLines(anInFileStr))
{
  var lineArray = line.Split(' ') ;
  list.Add(string.format("{0} {2} {1} {3}", lineArray[0], -int.Parse(lineArray[1]), lineArray[2], lineArray[3]));
}

File.WriteAllLines(anOutFile, list)