C#碎碎念(一)值类型与引用类型

凌晨四点写这种东西,一股森森的咏春打木桩的既视感。


说要强化语言其实是个很棘手的事情,因为一个人不知道自己不知道什么,不过好在鄙人在此方面积淀尚薄弱,随便翻翻书也能有所收获。

预计会将专门学习C#的周期计划从五周压缩到三周,比如我一开始是想先讲“反射”的,但翻完一整章实在又不知道从何说起,毕竟实战出真知,有些东西项目中暂时用不到就真是没法学。所以不求全,短期内随便能总结几点是几点吧。


回到正题。

先说个笑话,一开始我看C#代码时,想来想去惊呼搞毛啊,这函数把参数对象直接复制进来,搞东搞西最后不还是他喵的没改变参数的实际值么?!中了C++传指针传引用的毒。

当然随即了解到,C#中除了少数类型是按值传参,大多数类对象都是按引用处理的。


具体大概是值类型包括int、float等 + enum + struct,引用类型包括class等+string+array。


然后呢,你以为就这么简单么?那就太年轻了。

比如我猛然又发现《C#本质论》讲ref时,是拿string参数做例子的。说好的引用呢?为什么还要加ref?

然后我就翻到这篇文章讲得很清楚了:

net中String是引用类型还是值类型

评论中有句话说得好——“穿着值类型马甲的引用类型”。


类似的坑比事情目测还有很多,我们不要在意,继续往下走就好了。



为了凑篇幅最后加点tips:

1.预处理指令#warning可以用来提醒开发者任务尚未完结。给那些临时性代码做标记应该不错偷笑

2.VS安装目录就能找到微软出的C#语言规范文档,还是中文版。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值