相关疑难解决方法(0)

在关闭警告中访问foreach变量

我收到以下警告:

在关闭时访问foreach变量.使用不同版本的编译器编译时可能会有不同的行为.

这就是我的编辑器中的样子:

悬停弹出窗口中的上述错误消息

我知道怎么修这个警告,但我想知道为什么我会收到这个警告?

这是关于"CLR"版本的吗?它与"IL"有关吗?

.net c#

85
推荐指数
3
解决办法
3万
查看次数

如果一个操作数是可空类型,则Expression.GreaterThan失败,另一个操作数是非可空的

我正在创建一些动态linq并遇到以下异常问题:

没有为类型'System.Nullable`1 [System.DateTime]'和'System.DateTime'定义二元运算符GreaterThanOrEqual

我明白了,因为我的字段类型是可以为空的,而且我实际上是在DateTime.Now中传递的.

所以在试图解决这个问题时我已经尝试过了

System.Nullable<DateTime> now;
now = DateTime.Now;
Run Code Online (Sandbox Code Playgroud)

但结果类型是一个不可为空的对象,因此仍然给我上述异常.

有什么建议?!

更新:为了进一步说明,now变量在设置时变为非可空类型,而不是保持为可空的DateTime,因此匹配会引发异常

更新:可以在CodePlex项目中看到实际代码:

http://webquarters.codeplex.com/SourceControl/changeset/view/36529#574700

违规线约为145

fExp = Expression.GreaterThanOrEqual(fExpLeft, fExpRight);
Run Code Online (Sandbox Code Playgroud)

.net c# c#-3.0

28
推荐指数
1
解决办法
2万
查看次数

标签 统计

.net ×2

c# ×2

c#-3.0 ×1