2011-10-21 12 views
2
Clipboard.SetText(txtBox1.Text); 
txtbox1.Textは、文字列はnull、(何も)に等しくない場合、私はtxtbox1.Textにクリップボードのテキストを設定するには、ここ三項演算子を使用するにはどうすればよい

Clipboard.SetText()を使用して、三項演算子

ありがとうございます。

+0

あなたはテキストが空の場合はやって何をしたいです。 –

答えて

3

できません。いずれかの方法で "SetText"を呼び出しています。達成する正しい方法は、テキストがnullでない場合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

なぜ3値演算子を使いたいのですか?あなたが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();