string是引用类型,所以可以有null值。decimal是值类型,必须有值。在.net早期版本值类型是不能为null的。但在好像是.net3.5(不确定是不是从这个版本加入的)里添加了可为空值类型。比如int? decimal?。带问号的就是可为空的值类型。你需要指定.net框架为3.5或者4.0
你可以定义一个:decimal? a=null;