Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#Linq表达式返回复选框的选定值_C#_Linq_C# 4.0 - Fatal编程技术网

c#Linq表达式返回复选框的选定值

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

我在我的windows窗体中有
复选框
,我也想将下面的值传递给数据库,如下面的示例所示,但是
如果。。。否则…
语句将使我的其余代码无法访问,并且我的脚本将不会执行它,因此我如何避免这种情况

我正在考虑使用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;