-3

これが私のコードです。性別の値を格納する方法がわかりませんtextbox.text

string gender;
if (radio_male.Checked)
{
    gender = "Male";
}
if (radio_female.Checked)
{
    gender = "Female";
}
txtfirstname.Text = gender;
4

5 に答える 5

4

gender初期化されていません。演算子を使用?:してコードを削減できます。

string gender = radio_female.Checked ? "Female" : (radio_male.Checked ? "Male" : string.Empty);
txtfirstname.Text = gender; 
于 2013-01-09T12:33:02.423 に答える
3

初期化されている可能性のあるコンパイラ エラーが発生すると思いますgender。空の文字列をデフォルトとして設定することで解決できます。

string gender;
if (radio_male.Checked)
{
    gender = "Male";
}
else if (radio_female.Checked)
{
    gender = "Female";
}
else
{
    gender = ""; // or gender = string.Empty;
}
txtfirstname.Text = gender;

txtfirstname正しく入力しています。(事実は別として、むしろそうtxtGenderあるべきではないでしょうか?)

実際の問題は異なります。値を割り当てずにローカル変数を使用することはできません。C# コンパイラでは、実行時に奇妙なエラーが発生するのを防ぐために (たとえば、私の知る限り C とは異なり)、これを許可していません。

デフォルトでは、フィールドはnull(デフォルト値を持つ値型) で初期化されます。

于 2013-01-09T12:29:44.540 に答える
1
string gender = radio_male.Checked? "Male" : "Female";
txtGender.Text = gender

それがあなたのテキストボックス名だと思います..

于 2013-01-09T12:53:56.193 に答える
0
string gender = "";
if (radio_male.Checked)
{
    gender = "Male";
}
else if (radio_female.Checked)
{
    gender = "Female";
}
txtfirstname.Text = gender;
于 2013-01-09T12:32:26.077 に答える
-1

変数の性別を string.Empty として初期化してから試してください。

于 2013-01-09T12:32:14.453 に答える