C# get方法中的Trim属性

C# get方法中的Trim属性,c#,C#,目前我正在做一些类似的事情: public virtual String zipcodeRaw { get; set; } public virtual String zipcode { get { return zipcodeRaw.Trim(); } } public virtual String zipcode { get { return zipcode.Trim(); } } 有没有一种方法可以让我这样

目前我正在做一些类似的事情:

public virtual String zipcodeRaw { get; set; }
public virtual String zipcode {
    get
    {
        return zipcodeRaw.Trim();
    }
}
public virtual String zipcode {
    get
    {
        return zipcode.Trim();
    }
}
有没有一种方法可以让我这样做:

public virtual String zipcodeRaw { get; set; }
public virtual String zipcode {
    get
    {
        return zipcodeRaw.Trim();
    }
}
public virtual String zipcode {
    get
    {
        return zipcode.Trim();
    }
}

这将给您一个无限循环,因为zipcode引用自身。但是,属性只是私有变量的公共访问器和修饰符。你当然可以:

private string _zipcode;

public virtual string zipcode {
   get { return _zipcode.Trim(); }
}

这会导致堆栈向上膨胀为什么要用第二种方法呢?就我个人而言,我会将.Trim()移到setter:通常,您读取值的频率高于写入值的频率。还要防止出现空值。