如何在viewmodel属性中将0格式化为空字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在viewmodel属性中将0格式化为空字符串相关的知识,希望对你有一定的参考价值。

我的目标是当属性的值为0(零)时返回一个空字符串,否则返回值。

我查看了DisplayFormat属性,但我没有看到它是如何有条件地设置的(除了null)。

我也尝试使用代码来获取属性的get方法,但是我以这种方式尝试堆栈溢出错误。

public class Results
{
    public string TestId
    { 
       get 
       {
           if ( TestId == "0" ) { return ""; };
           return TestId;
       } 
       set {} 
    }
}

必须有一种方法,但显然这不是它,或者我错过了一些东西。

有人能指出我正确的方向吗?

答案

代码方法应该有效。您遇到的问题是因为您从getter引用了相同的TestId属性。您应该引用存储该值的基础字段。我建议改变如下:

public class Results
{
    private string _testId;

    public string TestId
    {
        get => _testId == "0" ? string.Empty : _testId;
        set => _testId = value;
    } 
}

以上是关于如何在viewmodel属性中将0格式化为空字符串的主要内容,如果未能解决你的问题,请参考以下文章