Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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# 如何在c中调用参数为null的方法#_C#_Asp.net - Fatal编程技术网

C# 如何在c中调用参数为null的方法#

C# 如何在c中调用参数为null的方法#,c#,asp.net,C#,Asp.net,我有一个有两个可为null的int参数的方法。我想传递一个参数,另一个我想传递null。我在google中搜索过,但没有找到任何正确的答案。有人能帮我吗。下面是一个示例方法,如何调用CallNullable方法 public void CallNullable(int? x, int? y) { int z = (x.HasValue ? x.Value : 0) + (y.HasValue ? y.Value : 0); } 试试这个 public void CallNul

我有一个有两个可为null的int参数的方法。我想传递一个参数,另一个我想传递null。我在google中搜索过,但没有找到任何正确的答案。有人能帮我吗。下面是一个示例方法,如何调用CallNullable方法

 public void CallNullable(int? x, int? y)
 {
     int z = (x.HasValue ? x.Value : 0) + (y.HasValue ? y.Value : 0);
 }
试试这个

 public void CallNullable(int? x, int? y)
    {
        int z = (x.HasValue ? x.Value : 0) + (y.HasValue ? y.Value : 0);
    }
你可以这样打电话

 int? i=2;
 int? b=1;
 CallNullable(i, b);

调用它们就像调用接受相同类型的不可为null的值的方法一样(例外是可以使用
null
值)

顺便说一下(警告,如果您刚开始编程,这可能会让人困惑),您可以使用简化代码:

public void CallNullable(int? x, int? y)
{
   int z = (x ?? 0) + (y ?? 0);
}

??
如果运算符的不是null,则使用运算符左侧的值,否则使用右侧的值。

侧注:
x.HasValue?x、 值:0
等于
x??0
这样您就可以简化code@RakeshJena没问题!如果我的答案解决了您的问题,请将其标记为:)
public void CallNullable(int? x, int? y)
{
   int z = (x ?? 0) + (y ?? 0);
}