用几个选项浓缩IF语句
本文关键字:IF 语句 选项 几个 | 更新日期: 2023-09-27 18:29:36
我有一个正在处理的项目,如果在文件中标识了值,该项目将运行一个进程
if (read_txt.Contains("one") == true)
(do.something)
else if ((read_txt.Contains("two") == true)
(do.something.else)
else
(do.last.thing)
(do.esomething)和(do.eomething.else)包含许多内容,如过程、if语句等。
例如,(do.esomething)包含;
if (read_txt.Contains("one") == true)
write_log
process
read_file
if file.contains
write_log
else
write_log
process
process
if file.contains
write_log
else
write_log
我遇到的问题是,如果"read_txt"中的文件同时包含"one"answers"two",我希望能够运行这两个元素(do.something)和(do.ssomething.else),而不需要再次复制代码,因为有很多代码。
最好的方法是什么?
我是C#的初学者,但这个项目帮助我学得很快!!
我遇到的问题是,如果"read_txt"中的文件同时包含"one"answers"two",我希望能够运行这两个元素(do.something)和(do.ssomething.else),而不需要再次复制代码,因为有很多代码。
这很简单,只是不要将其设为else if
,只需要两个if
语句。
bool foundNone = true;
if(read_txt.Contains("one"))
{
DoFirstThing();
foundNone = false;
}
if(read_txt.Contains("two"))
{
DoSecondThing();
foundNone = false;
}
if(foundNone)
{
DoThirdThing();
}
这意味着它将为找到的每个值运行代码,并且在找到一个值时不会停止,但它仍然只在其他选项中none被命中的情况下执行最后一件事。
bool not12 = true;
if (read_txt.Contains("one")) { (do.something); not12 = false;}
if (read_txt.Contains("two")) {(do.something.else); not12 = false;}
if(not12) (do.last.thing);
从(do.something)中编写一个函数和/或让您的第一个if语句同时检查两者是否为真,例如:
if(read_txt.Contains("one") && read_txt.Contains("two"))