[C#/Unity] 空間與整型值類型數據的選擇
我們常用的int在整型值類型中所佔用的空間是非常龐大的。其實很多時候我們都用不完這麼多的數值空間,我們可能只是聲明一個int speed的變量,它的值最大也不會超過1000,但是只要我們聲明了,對應的空間就會被佔用,也就是說,可以用16-bit解決的問題,我們足足多用了一倍的內存去解決。因此,根據變量的可能取值區間去判斷要用哪種值類型數據,可以有效減少記憶體的消耗。
我們常用的int在整型值類型中所佔用的空間是非常龐大的。其實很多時候我們都用不完這麼多的數值空間,我們可能只是聲明一個int speed的變量,它的值最大也不會超過1000,但是只要我們聲明了,對應的空間就會被佔用,也就是說,可以用16-bit解決的問題,我們足足多用了一倍的內存去解決。因此,根據變量的可能取值區間去判斷要用哪種值類型數據,可以有效減少記憶體的消耗。
擴展方法(Extension Methods)是對現有的數據類型實現一些自定義的操作的方法。善用擴展方法能有效地提高開發效率,減少很多冗餘的代碼。
Lambda表達式雖然可以被主動轉換成一個委托類型,但它實際上更多的是一種「使用方式」。所以,Lambda表達式本身其實並不歸屬於任何類型,因此也無法傳入一個接受泛型參數的函數之中。
lambda表達式與一般函數的不同之處,前者更多像是一個臨時的函數,它們基本是不會被重新被調用到的或者找到它們的位置的;而後者更多像是注冊了一個地址一樣,我們可以隨時根據名字找到這個函數的位置。