C# 如果参数值为null,获取数据的快捷方式是什么?
我正在尝试,但它给了我错误:C# 如果参数值为null,获取数据的快捷方式是什么?,c#,C#,我正在尝试,但它给了我错误: App.availableCards = App.availableCards ?? App.DB.GetAllPhrasesCount(); App.availableCards和App.DB.GetAllPhrasesCount()的返回都是整数 我需要做的是设置App.available cards的值,如果该值为null,则通过将其设置为App.DB.GetAllPhrasesCount()的值来完成 上面写着??无法应用于“int”和“int”类型的运算
App.availableCards = App.availableCards ?? App.DB.GetAllPhrasesCount();
App.availableCards和App.DB.GetAllPhrasesCount()的返回都是整数
我需要做的是设置App.available cards的值,如果该值为null,则通过将其设置为App.DB.GetAllPhrasesCount()的值来完成
上面写着??无法应用于“int”和“int”类型的运算符
有人能告诉我哪里做错了吗?在这里,试试这个:
App.availableCards = App.availableCards == 0 ? App.DB.GetAllPhrasesCount() : App.availableCards ;
int
不是引用类型,因此不可为null。在此处,请尝试以下操作:
App.availableCards = App.availableCards == 0 ? App.DB.GetAllPhrasesCount() : App.availableCards ;
//This failes
int x;
x = x ?? 10;
// this works
int? Y = null;
Y = Y ?? 10;
int
不是引用类型,因此不可为null。您需要它
App.availableCards =App.availableCards == 0 ? App.DB.GetAllPhrasesCount() : App.availableCards ;
//This failes
int x;
x = x ?? 10;
// this works
int? Y = null;
Y = Y ?? 10;
你需要这个
App.availableCards =App.availableCards == 0 ? App.DB.GetAllPhrasesCount() : App.availableCards ;
App.availableCards
必须是可为null的int(int?)才能使用null合并运算符
如果使用int,则需要使用类似的内容
App.availableCards = App.availableCards == 0 ? App.DB.GetAllPhrasesCount() : App.availableCards;
有关更多信息,请参见此处的应用程序。availableCards必须是可为null的int(int?)才能使用null合并运算符 如果使用int,则需要使用类似的内容
App.availableCards = App.availableCards == 0 ? App.DB.GetAllPhrasesCount() : App.availableCards;
有关更多信息,请参见此处,因为int不可为null
//This failes
int x;
x = x ?? 10;
// this works
int? Y = null;
Y = Y ?? 10;
因为int不可为null
//This failes
int x;
x = x ?? 10;
// this works
int? Y = null;
Y = Y ?? 10;
您应该向我们展示所涉及的数据类型。其中哪一个可以为null?您的错误消息表明这些类型不可为null。如果App.availableCards是int,则它永远不能为null。如果App.DB.GetAllPhrasesCount()返回一个int,则它永远不能为null。(它可以是0,这与null是完全不同的)在
null
和0
之间有区别int
不能为null
,但它可以具有值0
。您应该向我们显示所涉及的数据类型。其中哪一个可以为null?您的错误消息表明这些类型不可为null。如果App.availableCards是int,则它永远不能为null。如果App.DB.GetAllPhrasesCount()返回一个int,则它永远不能为null。(它可以是0,这与null是完全不同的)在null
和0
之间有区别int
不能为null
,但它可以具有值0
。哇!第三个答案使用完全相同的行号,你们都缺少:
!第三个答案使用完全相同的行号,你们都缺少:
!用完全相同的行代码回答第二个问题,但你仍然缺少:
!用完全相同的行代码回答第二个问题,但你仍然缺少:
!第一个答案是这行代码,但是你缺少:
,其他人都缺少::-)修订版评论,就像你一样。不是我:-)我会接受你的答案,因为这是第一个有“:-”的答案!第一个答案是这行代码,但是你缺少:
,其他人都缺少::-)修订版评论,就像你一样。不是我:-)我会接受你的答案,因为这是第一个有“:-”的答案