将文本与大量 If/else 进行比较
Comparing Text with a lot of If/else
我有在两个词之间搜索特定词的变量
> string number207 = FindTextBetweenWithout(fileTTT, "\n207 ", " 20");
> string number208 = FindTextBetweenWithout(fileTTT, "\n208 ", " 20");
> string number209 = FindTextBetweenWithout(fileTTT, "\n209 ", " 20");
> string number219 = FindTextBetweenWithout(fileTTT, "\n219 ", " 20");
在我有一个包含数字的文本文件之后:
>207
>208
>209
>1402
>132
这个数字是用这个方法读取的
var listChrt = File.ReadAllText(textBox2.Text);
所以在我尝试比较这些数字后
string compare()
{
if (listChrt.Contains("207"))
{
return number207;
}
if (listChrt.Contains("208"))
{
return number208;
}
if (listChrt.Contains("1402"))
{
return number1402;
}
return " ";
}
我尝试将其传递到 TextBox
richTextBox1.Text = (
dss()
);
但只获取第一个 return 行,即 number207。
因为我不明白 if else 语句在发现 true 时结束,但我需要一些东西来遍历我的所有文本文件并查找与我现有的变量(字符串编号 207、208 等)的比较
当您的代码调用 compare()
时,它会检查列表是否包含“207”。如果是,则 returns 该值;该方法到此为止。
如果您真的想这样做,您可以在该方法的范围之上创建布尔值,以检查是否已找到该值。如果有,您可以让它转到方法的下一部分。为此,您需要使用 Boolean logical operators;检查 listChrt
是否包含一个值并且该值已被找到。
不过,这段代码已经很乱了。如果您要传递要与 arguments 进行比较的值,您的代码会稍微简单一些。像这样:
string compare(string baseValue, string valueToCompareAgainst)
{
if (baseValue.Contains(valueToCompareAgainst)
{
return valueToCompareAgainst;
}
else
{
return " ";
}
}
然后您可以多次调用该方法,多次提供 baseValue
字符串以及不同的值。或者,更好的方法是将所有要比较的值放在 string[]
数组或 List<string>
中并迭代它们。
老实说,我不太确定你一开始为什么要写这篇文章,因为你不清楚,但是你开始吧。
我有在两个词之间搜索特定词的变量
> string number207 = FindTextBetweenWithout(fileTTT, "\n207 ", " 20");
> string number208 = FindTextBetweenWithout(fileTTT, "\n208 ", " 20");
> string number209 = FindTextBetweenWithout(fileTTT, "\n209 ", " 20");
> string number219 = FindTextBetweenWithout(fileTTT, "\n219 ", " 20");
在我有一个包含数字的文本文件之后:
>207
>208
>209
>1402
>132
这个数字是用这个方法读取的
var listChrt = File.ReadAllText(textBox2.Text);
所以在我尝试比较这些数字后
string compare()
{
if (listChrt.Contains("207"))
{
return number207;
}
if (listChrt.Contains("208"))
{
return number208;
}
if (listChrt.Contains("1402"))
{
return number1402;
}
return " ";
}
我尝试将其传递到 TextBox
richTextBox1.Text = (
dss()
);
但只获取第一个 return 行,即 number207。
因为我不明白 if else 语句在发现 true 时结束,但我需要一些东西来遍历我的所有文本文件并查找与我现有的变量(字符串编号 207、208 等)的比较
当您的代码调用 compare()
时,它会检查列表是否包含“207”。如果是,则 returns 该值;该方法到此为止。
如果您真的想这样做,您可以在该方法的范围之上创建布尔值,以检查是否已找到该值。如果有,您可以让它转到方法的下一部分。为此,您需要使用 Boolean logical operators;检查 listChrt
是否包含一个值并且该值已被找到。
不过,这段代码已经很乱了。如果您要传递要与 arguments 进行比较的值,您的代码会稍微简单一些。像这样:
string compare(string baseValue, string valueToCompareAgainst)
{
if (baseValue.Contains(valueToCompareAgainst)
{
return valueToCompareAgainst;
}
else
{
return " ";
}
}
然后您可以多次调用该方法,多次提供 baseValue
字符串以及不同的值。或者,更好的方法是将所有要比较的值放在 string[]
数组或 List<string>
中并迭代它们。
老实说,我不太确定你一开始为什么要写这篇文章,因为你不清楚,但是你开始吧。