有多少人能分得清值类型和引用类型?
曾经有机会给公司面试.net工程师,公司要我出几个面试题,其中我出的最后一题是这样的:
“class、object、string、int、bool、byte、interface、delegate、struct、enum,以上这些哪些是值类型,哪些是引用类型?”
可来来回回面试了几十号人,既然没有一个人全部答对的,我也很无奈,当然,我不是说从这个题中能看出一个人的水平怎么样。
其实这个题是在网上抄下来的面试题,我也不会说只看题目做的好坏来评价一个人的水平。
其中来面试的人,有刚从大学或青鸟毕业的学生,也有一二年,三四年工作经验的.net工程师。
其实我也没有想过,大家都能够全部答对,错那么几个也无所谓了,只是有些人,他只选出几个来。这10个里不是值类型就是引用类型,
我不知道他把剩下的列为什么类型?可就有几个人,我看他只选了3-5个,但却错了二三个的情况。
也许你分不清interface,delegate,struct,enum,string,但你至少要分得清class,object,int,bool,byte吧。但却真的还是有几个人把class,object
选成值类型的。还有最让我无语的是把int选为引用类型。
也跟很多人聊过,大家都不在乎基础知识,说能做出东西来就好,也有说,搞了几年的,谁还记得这些基础知识啊。唉,,,不知道他们在写过程传参数时
会不会想过哪些是传值,哪些是传地址的。也有人说,我传地址时,我就直接加上ref就好了。
那装箱,拆箱我就不说,我问了一些人,说没有听说过。到底基础知识对我们来说有多重要?
转载过来的:c# 引用类型和值类型区别 (摘)