Asp.net mvc 4 十进制和十进制有什么区别?和十进制

Asp.net mvc 4 十进制和十进制有什么区别?和十进制,asp.net-mvc-4,Asp.net Mvc 4,我知道这是一个愚蠢的问题。我正试图自己学习ASP.NETMVC4,最近我遇到了一个疑问。我用来学习MVC的教程显示了一个MVC模型创建包含以下代码 public decimal? cost{get;set;} 我想知道他们为什么要放?在代码中,教程没有解释他们为什么要这样做?在代码中。所以我的问题是十进制和十进制的区别是什么?decimal?可以有null值 虽然decimal不能有null值,但它必须始终有值 有关上的可空类型的详细信息 看看下面的例子 decimal? foo = null

我知道这是一个愚蠢的问题。我正试图自己学习ASP.NETMVC4,最近我遇到了一个疑问。我用来学习MVC的教程显示了一个MVC模型创建包含以下代码

public decimal? cost{get;set;}

我想知道他们为什么要放?在代码中,教程没有解释他们为什么要这样做?在代码中。所以我的问题是十进制和十进制的区别是什么?

decimal?
可以有
null

虽然
decimal
不能有
null
值,但它必须始终有值

有关上的可空类型的详细信息

看看下面的例子

decimal? foo = null; // value is null
foo = 5.5M;  // value is 5.5
foo = null; // value is null again
对于不可为null的类型,不能有此行为

decimal foo = null; // produces compiler error, Cannot convert null to 'decimal'

decimal?
可以有
null

虽然
decimal
不能有
null
值,但它必须始终有值

有关上的可空类型的详细信息

看看下面的例子

decimal? foo = null; // value is null
foo = 5.5M;  // value is 5.5
foo = null; // value is null again
对于不可为null的类型,不能有此行为

decimal foo = null; // produces compiler error, Cannot convert null to 'decimal'

小数点?ist nullable,这意味着它可以没有任何值(null不是0)。例如,您可以将其传递给您的客户端,并显示文本“无数据”而不是“0”。

十进制?ist nullable,这意味着它可以没有任何值(null不是0)。例如,您可以将其传递给客户端,并显示文本“无数据”而不是“0”。

十进制是一种值类型。添加问号使其可以为空。
十进制是一种值类型。添加问号使其可以为空。

在VS2005中,我们引入了一个名为“Nullable”的新类型,它看起来像这样(实际上比这个更复杂,但我想让示例保持简单):

struct Nullable
{
公共价值观;
公共价值观;
} 
您可以直接使用此结构,但我们还添加了一些快捷语法,以使生成的代码更清晰。第一个是引入一种新的语法来声明可为null的类型。而不是打字:

Nullable<int> x = new Nullable<int>(125); I can write:

int? x = 125;
Nullable x=新的Nullable(125);我可以写:
智力?x=125;

您可以在VS 2005中详细阅读这篇文章,我们将引入一个名为“Nullable”的新类型,它看起来像这样(实际上比这更复杂,但我想保持示例的简单性):

struct Nullable
{
公共价值观;
公共价值观;
} 
您可以直接使用此结构,但我们还添加了一些快捷语法,以使生成的代码更清晰。第一个是引入一种新的语法来声明可为null的类型。而不是打字:

Nullable<int> x = new Nullable<int>(125); I can write:

int? x = 125;
Nullable x=新的Nullable(125);我可以写:
智力?x=125;

你可以详细阅读这篇文章

你可能应该自己写一篇描述,而不是从链接中复制。当我读到8年前的Visual Studio版本中引入了一些新内容时,我有点困惑。你可能应该自己编写一个描述,而不是从链接复制它。当我读到有8年历史的VisualStudio版本中引入了一些新东西时,我有点困惑。