如何获得" n + 1"如果我的变量有" n"数字呢?

时间:2016-10-04 11:16:37

标签: c# .net

我有一个包含以下数据的字符串变量。

string str = string.Empty;
if ("my condition")
{
str = list[i] + Environment.NewLine;
}

其中i是文本文件中的行数

list[0]="Step 1:Some text"
list[1]="continuation of the text in step1"
list[2]="Step 2:Some text"
list[3]="continuation of the text in step2"
list[4]="Step 3:Some text"
list[5]="continuation of the text in step3"

当我打印str变量时,我得到了所有步骤。除此之外,我还要向它添加一条消息。我使用以下控制台代码,

string error = str + Environment.NewLine + "Step 4:Some text";

现在没有直接使用Step 4:,有没有办法计算步数并生成下一个数字并将其存储在可变数据中?在此方案中将使用Split()函数。

1 个答案:

答案 0 :(得分:4)

您可以使用Linq:

var stepCount = list.Count(text => text.StartsWith("Step")) + 1;
//C#6
var error = $"{str}{Environment.NewLine}Step {stepCount.ToString()}:Some text";
//Or C# before version 6
var error = string.Format("{0}{1}Step {2}:Some text", str, Environment.NewLine, stepCount.ToString());
//Or use StringBuilder
var error = new StringBuilder().AppendLine(str).Append("Step ")
    .Append(stepCount.ToString()).Append(":SomeText").ToString();
//Or plain old string concat
var error = str + Environment.NewLine + "Step " + stepCount.ToString() + ":Some text";