簡體   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