Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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 Order By_C#_Vb.net_Linq_Sql Order By - Fatal编程技术网

C# 整数的空值上的LINQ Order By

C# 整数的空值上的LINQ Order By,c#,vb.net,linq,sql-order-by,C#,Vb.net,Linq,Sql Order By,多亏了这里的人们的帮助,我已经能够把LINQ的事情弄清楚一点。但现在,我遇到了一个新的问题,我无法四处走动 这是我的密码: Dim rfc = From tbl In dt Where tbl(0).Equals(sModel) Select c1 = tbl(0), c2 = tbl(1), c3 = tbl(2), c4 = tbl(3), c5 = tbl(4), c6 = tbl(5), c7 = tbl(6) Or

多亏了这里的人们的帮助,我已经能够把LINQ的事情弄清楚一点。但现在,我遇到了一个新的问题,我无法四处走动

这是我的密码:

Dim rfc = From tbl In dt Where tbl(0).Equals(sModel)
                  Select c1 = tbl(0), c2 = tbl(1), c3 = tbl(2), c4 = tbl(3), c5 = tbl(4), c6 = tbl(5), c7 = tbl(6)
                  Order By c2.ToString
所以。。。这将根据我的需要对我的表进行排序,但我现在想插入第二个排序顺序,即c3。但是c3是一个字符串格式的整数,也可以是null(不要问!)。我试过:

Order By c2.ToString, CInt(c3)
现在c2有时是空的,但是toString函数似乎可以满足它,没有问题,但是如果c3是空的,它会抛出一个错误,因为它不能将dbull转换为整数

我的问题是,有人知道如何: a) 允许此错误,或 b) LINQ可以在例程的收集阶段执行类似于Switch函数的任何操作来转换dbnull吗


非常感谢您的帮助。

那么当
null
为空时,您的排序标准是什么?例如,如果
C3
3,null,2
,那么您期望的排序顺序是什么?例如,CStr(c2)的排序顺序,如果(C3是DBNull.Value,Integer.MaxValue,CInt(C3))。这将把null放在最后,其余的按升序排序。jmcillhinney,我不知道如何接受你的解决方案,但非常感谢。这不是一个答案,而是一个注释。您可以建议将其作为答案发布,以便接受。