دلیل اصلی استفاده از Property به جای Field را میتوان کنترل بر مقادیر ست شده برای Property دانست در مثال زیر

        public string FirstName;
        private string _lastName;


        public string LastName
        {
            get { return _lastName; }
            set { _lastName = value; }
        }
 
هم فیلد FirstName , و هم پراپرتی  LastName از خارج از کلاس قابل دسترسی میباشند ..
ولی با توجه به وجود Setter در پراپرتی ، میتوان بر مقدار انتصاب شده به LastName نظارت داشت و فقط زمانی به Backing Field آن مقدار را انتصاب داد که شرایط خاصی را داشته باشد ..
 
دیگر مزیت استفاده از Property ، کپسوله سازی فیلد میباشد که جز قواعد اصلی Object Oriented است ...
همچنین امکان DataBind به Property وجود دارد ولی در Field این امکان موجود نیست  ..