用几个选项浓缩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#的初学者,但这个项目帮助我学得很快!!

用几个选项浓缩IF语句

我遇到的问题是,如果"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"))