C#经典语法总结(二)属性和字段

本文对比了属性(Property)和字段(Field)的区别,并探讨了它们在.NET编程中的使用方式。建议将属性设置为私有或可继承,通过字段来改变属性的值。此外,还讨论了字段的简化get和set方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

属性(Property)和字段(Field)的比较

虽然不是必须的,但是建议将property设置为私有或者可继承,而通过Field来改变property。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1
{
    public  class TypeDemo
    {
        public void HahaGetType()
        {
           var  GG = new { htc = "haha", yy = "yoyo" };            
        }

       internal   string internalFiled { get; set; }

       public  string publicPropertyWithPriSet  {  get;  private  set; }

       public string publicProperty;

       private string privateFiled;
       string defaultFiled;
       static void mm()
       {
           mahui m = new mahui { name = "mahui", age=14 };

       }
       private class mahui
       {

           public string name { get; set; }

           public int age{get;set;}
       }
    }
}

 编译后的结果为:

 

其中mahui class中的Field设置是简化后的getset,编译后将自动产生两个私有property,然后调用setget来改变值。 

不管是Public的还是protectedField,里面的getset方法至少有一个要是缺省的访问修饰,另一个可以是缺省的,也可以是访问范围小于当前的,比如public修饰的可以将get或者set(两者最多有一个)修饰为protected或者private 

使用自动生成字段,getset必须成对出现,否则需要写成

Public string field {   get{       return  _field;    } }  Private string _field;  

如果需要使用自动生成字段来实现相同功能,则可以这样写:

Public string field
{
  get;private set;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值