C#基础之字段(Field)、属性(Properties)和索引器(Indexer)

前面,我们谈到了类中的一大成员:方法。今天我们来说说类中的另外三种成员:字段、属性和索引器

字段

字段就相当于类中的一个全局变量,用于存储数据。在类中一般定义为private私有的

属性

属性是用来封装字段的,它有get(读)、set(写)访问器,我们可以只设置一个属性的get访问器,也可以只设置它的set访问器。属性的本质是两个方法,我们通过反射就可以看到。因为是基础,所以这里就不再谈论反射的相当内容。属性可以设置字段的只读和只写。也可以从业务角度保护数据的有效性。我们来看一个例子:

class PropertiesDemo
    {
        static void Main()
        {
            Person per = new Person();
            per.Age = 10;
            Console.WriteLine(per.Age);
            per.Age = -1;
            Console.WriteLine(per.Age);
        }
    }
    class Person
    {
        //私有字段
        private int age;
        //属性
        public int Age
        {
            get
            {
                return age;
            }
            set
            {
                if (value < 150 && value > 0)
                {
                    age = value;
                }
            }
        }
    }

image 从结果中我们可以看出,当我们给Age赋值-1的时候是没有成功。从这个小例子中我们就可以体会到属性对字段的封装

索引器

索引器也叫有参属性,但它与属性又有一定的区别。索引器的字体必须用关键字this来定义。后加中括号索引参数

class IndexerDemo
    {
        static void Main()
        {
            Demo de = new Demo();
            de[5] = 10;
            Console.WriteLine(de[5]);
        }
    }
    class Demo
    {
        int[] intarr = new int[10];

        public int this[int i]
        {
            get
            {
                return intarr[i];
            }
            set
            {
                intarr[i] = value;
            }
        }
    }

image

非常的简单的例子哈,相信大家一看就会明白什么是索引器了。

好,今天的课程就到此吧,希望朋友们继续关注!谢谢

转载请注明:小曲 @ CSDN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值