Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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#_Asp.net - Fatal编程技术网

C#,运算符'';无法应用于类型为';十进制';和';十进制';

C#,运算符'';无法应用于类型为';十进制';和';十进制';,c#,asp.net,C#,Asp.net,错误消息显示: 运算符“??”不能应用于“decimal”和“decimal”类型的操作数。 为什么它不工作,我应该如何使它工作?decimal类型不能为null,因此null coalesce操作符在这里没有意义。只需将\u v1设置为值这些是值类型,不能为空您可以使用空 是十进制吗?还是小数点 这个??是十进制的吗?但不是小数,因为小数永远不能为空 这就是问题所在。因为decimal不能为null,所以它对decimal没有任何用处 您可以使用十进制?,如果需要此功能,可以将其设置为null

错误消息显示:

运算符“??”不能应用于“decimal”和“decimal”类型的操作数。


为什么它不工作,我应该如何使它工作?

decimal类型不能为null,因此null coalesce操作符在这里没有意义。只需将
\u v1
设置为
这些是值类型,不能为
您可以使用


是十进制吗?还是小数点

这个??是十进制的吗?但不是小数,因为小数永远不能为空

这就是问题所在。因为decimal不能为null,所以它对decimal没有任何用处

您可以使用
十进制?
,如果需要此功能,可以将其设置为null:

private decimal? _v1;
public decimal? V1
{
    get
    {
        return this._v1;
    }
    set
    {
        this._v1 = value ?? 0M;
    }

}

如果您认为<强>默认十进制值0 < /强>被认为是空的、空的或未设置的,并且您想<强>使用<代码>值< /> >仅当它不是0< /强>时,您可以这样做:

public decimal? v1 
{
    get 
    {
        return this._v1; 
    }
    set 
    {
        this._v1 = value ?? 0M;
    }
}

这些是值类型,不能为
null
Aha!我明白了:)谢谢你!如果你有一个可为空的十进制怎么办?公共十进制的例子?TotalAmount如果十进制数为空,则合并将起作用,
public decimal? v1 
{
    get 
    {
        return this._v1; 
    }
    set 
    {
        this._v1 = value ?? 0M;
    }
}
decimal nextBest = 10M;

public decimal v1 {
  get {
    return this._v1; 
  }
  set {
    // Use value by default (only if it's not 0), Otherwise use a different number.
    this._v1 = (value != 0)? value : nextBest;  
  }
}