-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

将变量gender初始化为string.Empty后尝试。

于 2013-01-09T12:32:14.453 回答