2011-10-21 66 views
2
Clipboard.SetText(txtBox1.Text); 

如何使用三元操作符這裏將剪貼板中的文本設置爲txtbox1.Text如果txtbox1.Text不等於空字符串,(什麼)?Clipboard.SetText()使用三元操作

謝謝

+0

。 –

回答

3

你不能。您以任一方式調用「SetText」。如果文本不爲空,則實現該功能的正確方法是不調用SetText。 使用Clipboard.SetText(a?b:c);如果你不想設置文本(除非希望SetText會忽略null),否則在這裏什麼都不會給你,除非你想要一些默認值。在這種情況下是這樣的:

 

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

正是我在尋找亞當,謝謝你。 – Clu

3

你不知道。只是一個簡單的if語句可以工作:

if (!string.IsNullOrEmpty(txtBox1.Text)) { 
    Clipboard.SetText(txtBox1.Text); 
} 
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); 
1

我會建議簡單if,與三元操作我無法想象適當的解決方案。

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

三元混亂:你想做什麼做的,如果文本爲空(在實際應用中不使用這個!)

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

executeAction.Invoke();