如何在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格式化为空字符串的主要内容,如果未能解决你的问题,请参考以下文章

在碧玉报告中将字符串格式化为货币格式

如何在IOS中将日期格式化为字符串,如“一天前”、“分钟前”?

如何在 Swift 中将此日期字符串格式“2018-03-30T14:36:10.093”格式化为日期 [重复]

将“数字”字符串格式化为数字

我们如何在 Flutter/Dart 中将自定义 DateTime 格式化为 DateTime?

如何在 Python 中将浮点数格式化为固定宽度