1.下列代碼在運(yùn)行中會發(fā)生什么問題?如何避免?
答:會產(chǎn)生運(yùn)行時錯誤,因?yàn)閒oreach是只讀的。不能一邊遍歷一邊修改。
2.請簡述關(guān)鍵字Sealed用在類聲明和函數(shù)聲明時的作用
答:類聲明時可防止其他類繼承此類,在方法中聲明則可防止派生類重寫此方法。
關(guān)鍵字Seal既然可以聲明類,也可以聲明方法
3.請簡述private,public,protected,internal的區(qū)別
4.反射的實(shí)現(xiàn)原理?
(以下英文純手打,無百度)
Assembly – 程序集
Class – 類(type)
Method –方法(methodinfo)
Property – 屬性(proinfo)
但是我好像不知道反射原理是什么, 有一個方法是Invoke(“Function_name”)在Unity3d的部分游戲源碼見得比較多,作用和普通Call方法一樣,雖然有些炫技,但是卻是在用反射實(shí)現(xiàn)一些游戲邏輯,而且這個游戲邏輯在Android|IOS等平臺也是運(yùn)行正常,反射的作用主要是跨程序集調(diào)用,作為一個基本抽象思維的程序員,應(yīng)該要理解跨當(dāng)前運(yùn)行時的程序集本身當(dāng)然也一個程序集,C#反射能廣泛應(yīng)用,并且出錯幾乎是0的原因,應(yīng)該就是C#程序集的開放,格式不變和不加密(微軟本身反而不支持開源)
5.Net與Mono的關(guān)系?
有人說.net只能在 windows上面跑,Mono能跨平臺,是.net的擴(kuò)展,這說法肯定是不正確的,C#(.Net)自誕生那天起就為了超越JAVA(應(yīng)該黑絲2003年,.NET一出就硬抄了JAVA所有的特性,還強(qiáng)調(diào)所有新特性超越JAVA),C#的GC就是對應(yīng)JAVA的垃圾回收機(jī)制,可惜的是長期以來C# Framework的體積比現(xiàn)在2018年的JVM虛擬機(jī)jre8還大
JVM是一次書寫代碼,所有平臺通用
那么C# Framework(.Net)肯定也是支持跨平臺
嗯,MONO是?官方一大段英文其實(shí)只要看最后2個就知道based on the ECMA standards
ECMA是什么鬼?你現(xiàn)在只要知道來自歐洲的標(biāo)準(zhǔn)就可以了
由于微軟的不開源,加上.NET的體積比較大,所以開源程序員都希望找到一種可以用C#或者其他書寫,卻是極度簡化版的.NET,結(jié)果當(dāng)年歐洲某小國某程序員秘密組織找到了微軟的內(nèi)核CIL(Common Intermediate Language通用中間語言,也叫做MSIL微軟中間語言)的一種代碼指令集,CIL可以在任何支持CLI(Common Language Infrastructure,通用語言基礎(chǔ)結(jié)構(gòu))的環(huán)境中運(yùn)行
(微軟一開始心比較大,目標(biāo)是所有語言書寫,在所有平臺書運(yùn)行,開發(fā)web,app等所有應(yīng)用,都通過visual studio,結(jié)果被Google和喬布斯打的頭低低,Google在語言性和跨平臺功能一直強(qiáng)調(diào)領(lǐng)先,喬布斯主張程序即藝術(shù),iphone1,2狠狠打了Bill Gate2下,國內(nèi)的c#程序員一直以來是最低下收入的一種程序員)
當(dāng)時歐洲小國的程序員,優(yōu)化了CLI并做出了MonoDeveloper這個IDE工具,后來他們成立了一個Xamarim公司,現(xiàn)在已經(jīng)被微軟收購,開源的MONO也沒有繼續(xù)下去
Unity現(xiàn)在應(yīng)該是基于ECMA這個協(xié)議才能得以繼續(xù)使用舊版本的開源MONO而不需要和微軟杠上
最近中興被美國狀告事件,類比一下MONO和微軟的關(guān)系你就懂了,政治在這里不能多說,我就不提了,但學(xué)習(xí)程序以外難道你學(xué)校就沒有政治課?難道你志愿不是考公務(wù)員報(bào)效國家?你不理政治,政治會來修理你。
我的推論是,mono是一種中間語言,而內(nèi)核還是.net的一個簡化版的虛擬機(jī),能跨平臺運(yùn)行,這個虛擬機(jī)類似于jvm虛擬機(jī),提供各種框架,API和程序執(zhí)行和調(diào)用功能,但明顯支持的最強(qiáng)語言還是C#
6.簡述Unity3D支持的作為腳本的語言的名稱
C#
JS
更多關(guān)于“unity培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。