在c#中,如果value为null,则将默认值赋给对象

本文关键字:默认值 对象 如果 value null | 更新日期: 2023-09-27 18:03:15

我试图分配一个默认值对象只有当值为null

public class TempleListDetails{
    public String strTempleImage{
        get ;
        set{
            if (value == null){
                strTempleImage= "some image path";
            }
        }
    }
}   

它抛出一个错误,说

错误1 'Project.Entities.strTempleImage. 'Get '必须声明一个主体,因为它没有标记为abstract、extern或partial

如何解决这个问题?

在c#中,如果value为null,则将默认值赋给对象

必须同时实现属性的set和get访问器

public class TempleListDetails
{
    private string strTempleImage;
    public String TempleImage
    {
        get {return strTempleImage;}
        set
        {
            if (value == null)
            {
                strTempleImage= "some image path";
            }
        }
    }
}

像这样修改

private string strTempleImage; // backing field
public String StrTempleImage // note capital "S"
{
     get
     {
         return strTempleImage;
     }

或者更好:

 get
 {
     return strTempleImage ?? "some image path";
 }

如果未设置该属性,则返回默认值。

public class TempleListDetails {
    private string _strTemplateImage;
    public String strTempleImage {
        get
        {
            if(_strTemplateImage == null)
                return String.Empty;
            else
                return _strTemplateImage;
        }
        set 
        {
            _strTemplateImage = value ?? "some image path";
        }
    }
}