C#复选框返回无效值

时间:2017-06-15 17:11:57

标签: c# checkbox

我有下面的代码,但我不明白为什么当我选中复选框时,访问字符串不会更改为“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);
}

1 个答案:

答案 0 :(得分:1)

access方法的checkvalue参数未通过引用传递(使用ref关键字。)因此,您将本地access设置为&#34 ; N"并在您的checkvalue方法返回后立即忘记它。 access1变量不受影响。您的方法需要使用access关键字通过引用接受ref