将变量与 if 语句一起声明的更简洁的方法



有人可以告诉我一个更好的方法来写这样的东西吗? 我的意思是,我知道我可以告诉它直接从文本框中获取并预设路径,但我仍然想知道如何编写这样干净的东西。

if (opt_textbox.Text == "")
opt = $"{Environment.GetFolderPath(Environment.SpecialFolder.MyMusic)}\TRNX_CONV\";
else
opt = opt_textbox.Text;

你拥有的很好。

这是另一种方式:

var x = (opt_textbox.Text == "")
? $"{Environment.GetFolderPath(Environment.SpecialFolder.MyMusic)}\TRNX_CONV\"
: opt_textbox.Text;

最好使用字符串。IsNullOrEmpy 或 IsNullOrWhitespace 而不是=="";

你拥有的很好。

如果你想花哨,在 c#>=7 中,你可以使用模式变量。

string opt = opt_textbox.Text is var text && !string.IsNullOrEmpty(text)
? text
: "Empty";

或"长格式"版本

if( opt_textbox.Text is var text && text != "") 
{ 
opt = text;
} 
else 
{
opt = "Empty"
}

最新更新