我有一个包含以下数据的字符串变量。
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()
函数。
答案 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";