1

私はJavaとC++でかなりまともなバックグラウンドを持っていますが、C#で些細なことをするのに苦労しています。私は2つありますTextBoxesMessageBoxSenderBoxSenderBoxからにテキストを送信したいのですが(これは簡単です)、それが完了したらMessageBoxクリアしたいと思います。SenderBox以下は基本的に、Enterキーを押してテキストを送信したときに発生するコードです。

string temp = SenderBox.Text;
SenderBox.Text = "cleared";
MessageBox.Text = temp;

ほとんどのプログラミング言語は、いくらか手続き型であるか、少なくとも何らかの順序で実行されます。Windows 8アプリ用のC#/ WPFがこの標準に反しているように見えるのはなぜですか?まず、 tempがのに等しく設定されることを期待します。SenderBoxコードを見ると、それが含まれている場合を除いて、「クリア」と等しくtemp ないはずSenderBoxです。その時点(1行目)では、そうではありません。奇妙な文字列を逆参照する関数を作成しようとしましたsend(msg)が、それでも何も変わりませんでした。次のコードは期待どおりに実行されます。

string x = "abc";
string y = x;
y = "123";
MessageBox.Text = x;

誰かが私を啓発できますか?ここで何が起こっているのかわからない。

4

1 に答える 1

1

2つのボックスの内容を切り替えようとしていない場合は、次のようにしてください。

MessageBox.Text = SenderBox.Text;
SenderBox.Text = "cleared";
于 2012-11-04T03:03:06.707 に答える