zoukankan      html  css  js  c++  java
  • C#中get和set个人理解

    C#中get和set,get是只读,set是只写,是C#对属性的读取和写入

            public class Student
    {
    private string name;
    public string Name
    {
    get
    {
    return name;
    }
    set
    {
    name = value;
    }
    }
    }

    上面的实例就是对私有字段name进行get和set,为什么要用get和set,可以添加条件限制对get和set 的条件

            public class Student
    {
    private string name;
    public string Name
    {
    get
    {

    return name;
    }
    set
    {
    if (value.Length >= 10)
    { throw new Exception("名字长度不能超过10个字符!"); }
    else
    { name = value; }
    }
    }
    }

    在set里进行了条件判断可以对不符合要求的写入可以进行限制;C#还提供了一种自动属性,利用自动属性可以简化代码,C#编译器会自动加入隐藏的私用字段,如果要用到私用字段的话可以根据要求进行声明

            public class Student
    {
    public string Name
    {
    get;
    set;
    }
    }

    static void Main(string[] args)
    {

    Student xiaomin = new Student();
    xiaomin.Name = "xiaomin";
    Console.WriteLine("hello!{0}",xiaomin.Name);
    Console.ReadKey();
    }

    对get和set 还有更深入的意义,如封装性、完整性、安全性。本人也不太理解很深,希望大家多多分享你们的宝贵经验

  • 相关阅读:
    linux 共享内存 信号量 同步
    进程间通信 共享内存
    linux 多进程绑定问题
    C 语言调用python 脚本函数
    C 语言 和 python 调用 .so 文件
    好好学习
    three.js
    AMD、CMD、UMD 模块的写法
    webpack查缺补漏
    什么是 Web 服务器(server)
  • 原文地址:https://www.cnblogs.com/RockyZhang/p/2412511.html
Copyright © 2011-2022 走看看