Unity高薪就業(yè)班siki學(xué)院
1、委托是什么,事件是委托嗎? 它們有什么區(qū)別?
C#中委托通常是指委托類型創(chuàng)建的對象,它用于保存和調(diào)用同類型的方法,基于它可以很方便地實現(xiàn)觀察者模式。事件不是委托,是委托的更安全實現(xiàn),也用于保存和調(diào)用同類型的方法,安全性體現(xiàn)在:事件對象不支持=操作符,以及只能在定義事件的類中,調(diào)用事件內(nèi)所保存的方法。
2、運行string a = new string(”XYZ”);代碼時,涉及幾個String對象?
2個,一個是字符串字面量"xyz"所對應(yīng)的、駐留在一個全局共享的字符串常量池中的實例對象,另一個是通過new String(String)創(chuàng)建并初始化的、內(nèi)容與"xyz"相同的實例對象。a是string類型的引用變量,非實例對象。
3、值類型與引用類型的區(qū)別?
在C#中,基于值類型創(chuàng)建變量時,會創(chuàng)建相應(yīng)類型的對象,并用變量名進行標識,可直接用于存儲數(shù)據(jù),其對象內(nèi)存一般位于棧區(qū)。
而基于引用類型創(chuàng)建變量時,其變量為引用變量,并沒有創(chuàng)建引用類型的對象。引用類型的變量,需要引向堆區(qū)的引用類型對象,通過它將數(shù)據(jù)存放到堆區(qū)對象。
標簽: