吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 2382|回复: 67

[C#] C#属性、字段和成员变量的关系区别

  [复制链接]
m1q2w3olf 发表于 2021-12-20 08:53 | 显示全部楼层 |阅读模式

我们先来写一个类Person,字段为:name、age、sex,属性:Name、Age、Sex。那么,成员变量:name、age、sex、Name、Age、Sex。字段和属性,都可以叫做是成员变量。属性和字段都是用来存储数据的,但肯定是有不同的(要不然也不会起两个名字,干脆叫一个名算了~)。
    public class Person
    {
        // 字段
        private string name;
        private int age;
        private string sex;
        // 属性
        public string Name
        {
            get { return name; }
            set { sex = value; }
        }
        public int Age
        {
            get { return age; }
            set { age = value; }
        }
        public string Sex
        {
            get { return sex; }
            set { sex = value; }
        }
    }
字段一般用在类的内部使用,属性一般供外部类访问。按照类的设计原则,字段都是private的,只能在类的内部使用,如果是public的,那么外部类谁都有可能访问,对字段进行破坏性的修改,这是我们不希望看到的,所以字段一定是private的。

属性想当于是给字段加了一个保护套,如果想读这个字段的值,属性里面走的一定是get{},如果想给字段赋值,属性里一定走的是set{},那么程序员可以在get{}和set{}中增加一些限制,验证要赋值的内容,或者让某个字段只能读不能赋值(对应该字段的的属性只让它有get{},不写set{})。对于外部使用者来说只能够使用它,不能控制它,如何控制操作是由类自身决定的(或者说是由程序员决定的,嘿嘿~)。

另外,字段值可以用作ref、out参数,而属性不能。


评分

参与人数 17HB +10 THX +10 收起 理由
隔壁老樊 + 1
花盗睡鼠 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
浅酌◇咖啡 + 1
消逝的过去 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
zyyujq + 1
agan8888 + 1
muker + 1
pmm018 + 1
jgs + 1
6378895 + 2 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
a1fnv3llnq + 1
playboy + 1
XiaoWeiSec + 1
cruelloong + 1
king51999 + 1 [快捷评语]--你将受到所有人的崇拜!
baky1223 + 1 + 1 [快捷评语]--积极评分,从我做起。感谢分享!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
阿桂哥 发表于 2021-12-29 23:15 | 显示全部楼层

private 内部
public 公开
字段一定是private的

属性里面走的一定是get{},字段赋值属性里一定走的是set{},
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
775083111 发表于 2022-1-22 09:17 | 显示全部楼层

有楼主这样的热心人真好
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
忧虑和雪碧 发表于 2022-1-22 21:00 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
生动爱铃铛 发表于 2022-1-22 21:04 | 显示全部楼层

楼上很眼熟啊,是不是哪里见过
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
温暖笑毛巾 发表于 2022-1-22 22:38 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
个性演变大地 发表于 2022-1-22 22:41 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
彩色世界 发表于 2022-1-22 22:43 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
闪闪的胡萝卜 发表于 2022-1-23 02:48 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
调皮给战斗机 发表于 2022-1-23 04:40 | 显示全部楼层

无敌了!你怎么知道我想要什么!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表