我有下面的代码,但我不明白为什么当我选中复选框时,访问字符串不会更改为“Y”。
string access1 = "N";`
void checkvalue(CheckBox chkbox, string access)
{
if (chkbox.Checked)
{
access = "Y";
}
else
{
access = "N";
}
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
checkvalue(checkBox1, access1);
}
答案 0 :(得分:1)
access
方法的checkvalue
参数未通过引用传递(使用ref
关键字。)因此,您将本地access
设置为&#34 ; N"并在您的checkvalue
方法返回后立即忘记它。 access1
变量不受影响。您的方法需要使用access
关键字通过引用接受ref
。