尝试将null分配给可为null的int会导致“在'int'和'null'之间没有隐式转换”错误 - c#

public List<Tuple<int, int, int, string, int, int, Tuple<bool, bool, int?>>> 
    GetValues(int someId, int someOtherlId)
{
    var t = new List<Tuple<int, int, int, string, int, int, Tuple<bool, bool, int?>>>();
    using (var context = new Entities(ConnString))
    {
        var pc = context.SomeTable.Where(c => c.SomeId == someId && 
            c.SomeOtherId == someOtherId).OrderBy(c => c.Id).ToList();
        t.AddRange(pc.Select(cols => new Tuple<int, int, int, string, int, int, Tuple<bool, bool, int?>>
            (cols.Id, cols.someId, cols.someOtherId, cols.ColumnName, cols.MinDataLength,
            cols.MaxDataLength, new Tuple<bool, bool, int?>(cols.Required, cols.Eav.HasValue && cols.Eav.Value,
                cols.AttribId.HasValue ? cols.AttribId.Value : null))));
    }
        return t;
    }
}

无法弄清楚为什么此代码无法编译并生成“'int'和'null'之间没有隐式转换”错误。

在第二个元组int吗?始终标记为可为空,因此为什么t.AddRange中的编译器将其检测为正常int,从而生成“无法确定条件表达式的类型,因为在。

有任何想法吗?

参考方案

如果您要在已接受int?的元组中添加int?,为什么不直接将其直接添加到元组中,即更换:

new Tuple<bool, bool, int?>(..., cols.AttribId.HasValue ? cols.AttribId.Value : null)

new Tuple<bool, bool, int?>(..., cols.AttribId)

或者,为了更简洁一点,请使用Tuple.Create的类型推断:

Tuple.Create(..., cols.AttribId)

将字符串分配给numpy.zeros数组[重复] - python

This question already has answers here: Weird behaviour initializing a numpy array of string data                                                                    (4个答案)         …

如何修复AttributeError:模块'numpy'没有属性'square' - python

Improve this question 我已经将numpy更新为1.14.0。我使用Windows10。我尝试运行我的代码,但出现此错误: AttributeError:模块“ numpy”没有属性“ square”这是我的进口商品:%matplotlib inline import matplotlib.pyplot as plt import ten…

AttributeError:'AnonymousUserMixin'对象没有属性'can' - python

烧瓶学习问题为了定制对匿名用户的要求,我在模型中设置了一个类: class MyAnonymousUser(AnonymousUserMixin): def can(self, permissions): return False def is_administrator(self): return False login_manager.anonymous…

无法加载文件或程序集'WPG,PublicKeyToken = null'或其依赖项之一 - c#

我正在使用PRISM和在CodePlex中找到的新控件:WPF属性网格http://wpg.codeplex.com/当我测试DEMO时,一切进展顺利。我尚未开始使用PRISM。如果我将控件放在Shell中,效果也很好。问题是,如果我将控件放在模块中,则会引发错误。 无法加载文件或程序集'WPG,PublicKeyToken = null'或以下之一 它的依…

错误:非常量表达式不能从类型'npy_intp'缩小为'int' - python

我正在尝试运行以下模型,但是在编译期间失败:import numpy as np import pymc3 as pm def sample_data(G=1, K=2): # mean proportion ([0,1]) for each g p_g = np.random.beta(2, 2, size=G) # concentration aroun…