C#,获取0到9999之间的每个特定数字.再次
本文关键字:再次 数字 之间 获取 9999 | 更新日期: 2023-09-27 18:16:08
。我可能在问一个简单的问题。好的,让我开始吧;
我想得到0到9999之间的每个数字。每个具体的数字都是。为什么?嗯,我需要它作为病例编号。以下是我迄今为止所拥有的;
for (int i = 0; i < 9999; ++i)
{
if (line.Contains("if(intid == " + i + ")") || line.Contains("if intid == " + i) && !line.EndsWith(" then"))
{
ErrorBox.Items.Add("ERROR: You're missing then near " + line + " TIME: " + DateTime.Now);
}
}
我上面的只会得到最后一个数字9999,但我想要每个特定的数字0、1、2、3、4、5等。"我"应该检索每个数字,直到9999。但是,"for"循环不能正常工作。
循环对我来说很好,我认为问题在于if语句。试试这个:
if (line.Contains("if(intid == " + i + ")") || line.Contains("if intid == " + i) && !line.EndsWith(" then"))
{
ErrorBox.Items.Add("ERROR: You're missing then near " + line + " TIME: " + DateTime.Now);
}
else
ErrorBox.Items.Add("Not an error");
您已经将i声明为int;但是,string.contents方法希望看到一个字符串。
所以,在你的包含中有i的地方,把这个i改为ToString((:
if (line.Contains("if(intid == " + i.ToString() + ")") || line.Contains("if intid == " + i.ToString()) && !line.EndsWith(" then"))
我不知道为什么它对9999有效,但对其他人无效。可能是||和&?
Andrew
我认为您可能对先见之明有问题&;在||之前求值。这就像1+2*3等于7。您需要添加((才能正确评估表达式。(b1||b2(&;b3
编辑
bool b1 = line.Contains("if(intid == " + i + ")");
bool b2 = line.Contains("if intid == " + i);
bool b3 = !line.EndsWith(" then");
所以写
if ((line.Contains("if(intid == " + i + ")") || line.Contains("if intid == " + i))
&& !line.EndsWith(" then"))