繁体   English   中英

Clipboard.SetText()使用三元运算符

[英]Clipboard.SetText() using ternary operator

Clipboard.SetText(txtBox1.Text);

如果txtbox1.Text不等于string null,我怎么能在这里使用三元运算符将剪贴板的文本设置为txtbox1.Text?

谢谢

你不能。 无论哪种方式,你都在调用“SetText”。 实现这一目标的正确方法是,如果文本不为null,则不调用SetText。 使用Clipboard.SetText(a?b:c); 如果你不想设置文本(除了希望SetText会忽略null),除非你想要一些默认值,否则你不会在这里给你什么。 在这种情况下,例如:


clipboard.SetText(string.IsNullOrEmpty(txtBox1.Text) ? "default text" : txtBox1.Text);

你没有。 只是一个简单的if语句可以工作:

if (!string.IsNullOrEmpty(txtBox1.Text)) {
    Clipboard.SetText(txtBox1.Text);
}

为什么要使用三元运算符? 如果您不需要SetText,那么请不要。

if (!String.IsNullOrEmpty(txtbox1.Text))
     Clipboard.SetText(txtbox1.Text);

我想你可以做到

Clipboard.SetText(String.IsNullOrEmpty(txtbox1.Text) ? (default here, or as is: Clipboard.GetText()) : txtbox1.Text);

我建议简单, if ,三元运算符我无法想象足够的解决方案。

if (!String.IsNullOrEmpty(txtbox1.Text))
{
  Clipboard.SetText(txtbox1.Text);
}

三元混乱:(不要在实际应用中使用它!!!)

Action executeAction = String.IsNullOrEmpty(txtbox1.Text) 
                        ? () => {} 
                        : () => { Clipboard.SetText(txtbox1.Text); };

executeAction.Invoke();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM