有没有更好的方法在C#3.0中编写这行C#代码?

mez*_*oid 5 nullable properties c#-3.0

我有一个声明如下的属性:

public decimal? MyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)

我需要将此值作为字符串传递给另一个方法,因此我看到这样做的唯一方法如下:

MyProperty == null ? null : MyProperty.ToString()
Run Code Online (Sandbox Code Playgroud)

当您将许多类似的属性传递给方法时,这看起来非常混乱.

有谁知道是否有更好,更简洁的写作方式?

哦,如果有人能想到这个问题的更合适的标题,请随时改变它...

JP *_*oto 15

你可以使用Nullable<T>.ToString() 覆盖 ......

var s = MyProperty.ToString(); // returns "" if MyProperty is null
Run Code Online (Sandbox Code Playgroud)

  • @Cameron,我相信它(null!="")在.NET中.在你的代码中检查它.这就是我们在.NET 2.0中获得string.IsNullOrEmpty方法的原因. (6认同)