c#Linq表达式返回复选框的选定值
我在我的windows窗体中有c#Linq表达式返回复选框的选定值,c#,linq,c#-4.0,C#,Linq,C# 4.0,我在我的windows窗体中有复选框,我也想将下面的值传递给数据库,如下面的示例所示,但是如果。。。否则…语句将使我的其余代码无法访问,并且我的脚本将不会执行它,因此我如何避免这种情况 我正在考虑使用Linq表达式将选中的复选框的值直接返回到数据库参数,可以避免这种情况吗?如果是,请怎么办 int active; if (chkboxActive.Checked) { active = 1; } else { active = 0; } cmd.Parameters.Add("@activ
复选框
,我也想将下面的值传递给数据库,如下面的示例所示,但是如果。。。否则…
语句将使我的其余代码无法访问,并且我的脚本将不会执行它,因此我如何避免这种情况
我正在考虑使用Linq表达式将选中的复选框的值直接返回到数据库参数,可以避免这种情况吗?如果是,请怎么办
int active;
if (chkboxActive.Checked)
{ active = 1; }
else
{ active = 0; }
cmd.Parameters.Add("@active", SqlDbType.Bit).Value = active;
在这里使用Linq真的毫无意义。但是,您可以使用:
为什么是Linq,您可以使用,
Convert.ToInt32(一些布尔值)
编辑代码以匹配您的格式
int active;
active=Convert.ToInt32(chkboxActive.Checked);
cmd.Parameters.Add("@active", SqlDbType.Bit).Value = active;
这是您的完整代码,请删除if-else部分。Linq?不,那没有道理。三元运算符?当然<代码>int active=chkboxActive。是否选中?1 : 0;
@DavidG请给我举个例子?我只使用.Value=Convert.ToInt32(chkboxActive.Checked)代码>可能重复为什么if
语句使任何内容无法访问?否my friend is只传递选中的值,而不会传递未选中的值HI Sam,因为未选中的值将传递0。它应该是零并且应该通过。你所说的未选中的一是什么意思?.Checked属性为true(1)或false(0)。I when true返回1
when false返回0
之后,我会将值传递给数据库参数public static int ToInt32(bool value){return value?Boolean.true:Boolean.false;}这是Convert.ToInt32的实现,这与使用三元运算符相同。我的信念是,使用转换方法将通过明确意图来增加可读性,并且对于三态checkboxThis很好。它也可能是int active=0;如果(chxboxActive.Checked)active=1代码>在两行和三行上
int active;
active=Convert.ToInt32(chkboxActive.Checked);
cmd.Parameters.Add("@active", SqlDbType.Bit).Value = active;