Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.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# 如果参数值为null,获取数据的快捷方式是什么?_C# - Fatal编程技术网

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
。哇!第三个答案使用完全相同的行号,你们都缺少
!第三个答案使用完全相同的行号,你们都缺少
!用完全相同的行代码回答第二个问题,但你仍然缺少
!用完全相同的行代码回答第二个问题,但你仍然缺少
!第一个答案是这行代码,但是你缺少
,其他人都缺少::-)修订版评论,就像你一样。不是我:-)我会接受你的答案,因为这是第一个有“:-”的答案!第一个答案是这行代码,但是你缺少
,其他人都缺少::-)修订版评论,就像你一样。不是我:-)我会接受你的答案,因为这是第一个有“:-”的答案