C_Sharp 板


LINE

※ 引述《ji3g45j (pig)》之铭言: : ※ 引述《zanyking (遥远的旅人)》之铭言: : : 都已经是Const了为啥还需要static?? : : 所谓的Const,就是用来修饰一些"常数"用的。 : : 既然是常数,就表示在整个执行期都不会有改变。 : Const是一个常数,编译器能够把它放在程式记忆体而不会占到资料记忆体 : static是宣告一个变数,他是存於资料记忆体的,而且不会被释放掉 先不去考虑MSIL或VM背後如何实作这个问题,单单只就语言逻辑层面去思考。 const关键字是用来表示一个变数是常数,一个常数代表着: 1.它在一个执行体(classLoader、AppDomain what else)当中为唯一的。 2.它的reference必须不可改变。 3.它的内容也不可改变。 Def-1 标示了与static一样的性质。 def-2 标示了readonly、final(JAVA)的特性。 def-3 虽然看上去知道是什麽意思,背後却隐藏了不少东西。 先从Def-2看起。 所谓的readonly指的并不是内容为readonly,而是reference为readonly, 也就是这个reference所指向的记忆体位址(逻辑上的)是不改变的,但他并 没有保证这个位址所代表的物件其内容亦为不可变! 也就是说,你可以有一个static readonly的ArrayList,你可以任意Add or Remove你想要的东西,但你就是不能把reference指到其他地方。 而const,就是要保证Def-3这点。(如果你不作unsafe operation的话。) 所以,const可不可以用来形容动态资料结构呢?不行。 因为,『动态』与『常量』的语言观念是互斥的。 事实上,就语意来说连fixed size阵列都是不容许的。 (实际可不可以没测过,应该也是不行。) 所以,你会发现const只会用来描述string & 基本型态,(enum没试过,语 意上应该可以。)而不会用来描述List、Dic、Set。 所以,下次有人问起『为何const不能形容阵列?』,可以这麽回答: 如果你需要一个不可变的阵列存放不可变的内容,那何不将它们一一列举出 来宣告在class中,再利用static C# Indexer去作Array Like的存取呢? 物件可以像阵列,类别也可以。 -- JAVA 是一个静态型别reference指定、强物件型别判定的语言。 属於类C/C++族。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.85.116.116







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP