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

来源:互联网 发布:注销淘宝账号会怎么样 编辑:程序博客网 时间:2024/04/29 23:08

 

属性(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;}
原创粉丝点击