gpt4 book ai didi

c# - 运算符 ' ' 不能应用于类型 和 null 的操作数

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:10 24 4
gpt4 key购买 nike

我有以下接受 BuildAppStat 的方法对象作为参数。
但是有时它可以为空。

所以我这样调用它:

sourceId: bas.BuildAppStatId ?? null

出现编译错误

operator ' ' cannot be applied to operand of type <int> and null.

我该如何解决这个问题?

public PageBuildVrsn EditPageBuildVrsn(string caption, string nameInUse, string description, BuildAppStat bas = null, int pageBuildVrsnTypeId = 1)
{
PageBuildVrsn pbv = Create(pageBuildVrsnTypeId, caption, nameInUse, description);
pbv.ParentBuildAppStats = new List<BuildAppStat>();
pbv.ParentBuildAppStats.Add(
BasFactory.Create(
DateTimeOffset.Now,
true,
sourceId: bas.BuildAppStatId ?? null
)
);

return pbv;
}

最佳答案

您只能将空合并运算符与第一个操作数一起使用,该操作数是可为空类型(可为空值类型或任何引用类型)。听起来 bas.BuildAppStatId 只是一个 int,这意味着您不能对它使用 null 合并运算符。

如果您试图防止 bas 本身为 null,您需要:

sourceId: bas == null ? (int?) null : bas.BuildAppStatId,

关于c# - 运算符 ' ' 不能应用于类型 <int> 和 null 的操作数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16956794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com