Clipboard.SetText(txtBox1.Text);
如果txtbox1.Text不等于字符串null,(如果没有),我如何在这里使用三元运算符将剪贴板的文本设置为txtbox1.Text?
由于
答案 0 :(得分:3)
你做不到。无论哪种方式,你都在调用“SetText”。实现这一目标的正确方法是,如果文本不为null,则不调用SetText。 使用Clipboard.SetText(a?b:c);如果你不想设置文本(除了希望SetText会忽略null),除非你想要一些默认值,否则你不会在这里给你什么。在这种情况下,如:
clipboard.SetText(string.IsNullOrEmpty(txtBox1.Text) ? "default text" : txtBox1.Text);
答案 1 :(得分:3)
你没有。只是一个简单的if语句可以工作:
if (!string.IsNullOrEmpty(txtBox1.Text)) {
Clipboard.SetText(txtBox1.Text);
}
答案 2 :(得分:1)
为什么要使用三元运算符?如果你不需要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);
答案 3 :(得分:1)
我建议简单的if
,使用三元运算符我无法想象是否有足够的解决方案。
if (!String.IsNullOrEmpty(txtbox1.Text))
{
Clipboard.SetText(txtbox1.Text);
}
三元混乱:(不要在实际应用中使用它!)
Action executeAction = String.IsNullOrEmpty(txtbox1.Text)
? () => {}
: () => { Clipboard.SetText(txtbox1.Text); };
executeAction.Invoke();