Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何读取特定行中的数字并增加1_C# - Fatal编程技术网

C# 如何读取特定行中的数字并增加1

C# 如何读取特定行中的数字并增加1,c#,C#,我正在尝试编写一个程序,可以增加.ini文件中的行数。 这些文件如下所示(不是完整的文件): 我想让我的程序读取文件中包含“FileSpec”的行数,并询问用户总共不需要多少行。用户输入量ex:8。然后,程序将另外五行写入文件 这就是我到目前为止所做的: int count = File.ReadLines(filepath).Skip(16).Count(line => line.Contains("FileSpec")); Console.WriteLine(("There are "

我正在尝试编写一个程序,可以增加.ini文件中的行数。 这些文件如下所示(不是完整的文件):

我想让我的程序读取文件中包含“FileSpec”的行数,并询问用户总共不需要多少行。用户输入量ex:8。然后,程序将另外五行写入文件

这就是我到目前为止所做的:

int count = File.ReadLines(filepath).Skip(16).Count(line => line.Contains("FileSpec"));
Console.WriteLine(("There are ") + (count) + (" Filespec-lines in the file, how many do you want in total?"));
int antall22=(int)Convert.ToInt32(Console.ReadLine());

int linestoadd = antall22 - count;
因此,“linestoadd”是应该写入文件的行数。 如何将行数写入文件,并增加下划线后的数字,使其增加到两(10+)位和三(100+)位数字?

您可以这样做:

var lines = new List<string>();
for(int i=count+1; i<= antall22; i++)
{
     lines.Add(string.Format("FileSpec_{0}=C:\Solid4.2\solid.{0} 1000m",i));
}
File.AppendAllLines(filepath,lines);
它总是在
文件spec{number}
中添加连续的数字,即使它们是多位数

解释:

for(int i=count+1; i<= antall22; i++)

for(int i=count+1;iI不清楚您要添加的行应该包含哪些内容。它们应该包含:“FileSpec_3=C:\Solid4.2\solid.3 1000m”每行只增加(3)个数字。谢谢!这看起来比我预期的要简单得多。遗憾的是,我还不是很熟练,所以我不完全理解您对for做了什么(int i=计数+1;i@user2928068关于错误:请参见编辑,我应该在昏迷之后:)我将编辑我的答案,解释这个循环。再次感谢您的时间和帮助。现在添加了行,但删除了以前的行。我需要现有的行仍然存在。此外,我忘了添加,在实际的fileSpec行之前和之后还有一些行。我将更新第一篇文章。很抱歉不清楚。@user2928068没问题:)你可以接受我的答案作为奖励:)@user2928068为什么不检查我的答案?
FileSpec_4=C:\Solid4.2\solid.4 1000m
FileSpec_5=C:\Solid4.2\solid.5 1000m
FileSpec_6=C:\Solid4.2\solid.6 1000m
FileSpec_7=C:\Solid4.2\solid.7 1000m
FileSpec_8=C:\Solid4.2\solid.8 1000m
for(int i=count+1; i<= antall22; i++)