Auto-implemented getters and setters vs. public fields
        Posted  
        
            by tclem
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by tclem
        
        
        
        Published on 2008-09-21T17:22:23Z
        Indexed on 
            2010/06/03
            2:14 UTC
        
        
        Read the original article
        Hit count: 346
        
I see a lot of example code for C# classes that does this:
public class Point {
    public int x { get; set; }
    public int y { get; set; }
}
Or, in older code, the same with an explicit private backing value and without the new auto-implemented properties:
public class Point {
    private int _x;
    private int _y;
    public int x {
        get { return _x; }
        set { _x = value; }
    }
    public int y {
        get { return _y; }
        set { _y = value; }
    }
}
My question is why. Is there any functional difference between doing the above and just making these members public fields, like below?
public class Point {
    public int x;
    public int y;
}
To be clear, I understand the value of getters and setters when you need to do some translation of the underlying data. But in cases where you're just passing the values through, it seems needlessly verbose.
© Stack Overflow or respective owner