點擊跳轉=>熬夜再戰Android從青銅到王者-UI組件快速搭建App界面
點擊跳轉=>熬夜再戰Android從青銅到王者-幾個適配方案
點擊跳轉=>熬夜再戰Android從青銅到王者-開發效率插件篇
點擊跳轉=>Unity粒子特效系列-龍卷風預制體做好了,unitypackage包直接用!
點擊跳轉=>姐姐喊我解鎖套娃新技能:FairyGUI在Unity中實作List嵌套List/立體畫廊等,玩出花兒來
點擊跳轉=>Unity新手必備5款寶藏插件–價值上千元白嫖最新版
👉關于作者
眾所周知,人生是一個漫長的流程,不斷克服困難,不斷反思前進的程序,在這個程序中會產生很多對于人生的質疑和思考,于是我決定將自己的思考,經驗和故事全部分享出來,以此尋找共鳴 !!!
專注于Android/Unity和各種游戲開發技巧,以及各種資源分享(網站、工具、素材、原始碼、游戲等)
有什么需要歡迎私我,交流群讓學習不再孤單,
👉前提

點擊跳轉=>程式老鳥C#學習:3天學會全部基礎–第一天
點擊跳轉=>程式老鳥C#學習:3天學會全部基礎–第二天
👉實踐程序
😜命名空間
Namespace這玩意就是用來方便管理的,而且在計算機中相同的設計思想到處可見,比如同一個檔案夾下不同有同名的檔案,你放在不同檔案夾下可以有同名檔案,
其他編程語言比如Java有包路徑,不同路徑名字可以有同名的類,這種思想方便管理檔案/代碼,
namespace first_space
{
class namespace_cl
{ }
//比如這樣,程式是會報錯的
class namespace_cl
{ }
}
//但是你是下面的狀態就不會報錯
namespace first_space
{
class namespace_cl
{ }
}
namespace second_space
{
class namespace_cl
{ }
}
到這有的人就開始有疑問了:如果是不同的檔案或者想訪問其他的空間怎么辦呢?
細心的已經發現了,就和Java的導包一樣,C#使用using匯入空間,在每個編程檔案的最上面幾行都是這樣的引入,想要哪些空間的功能匯入哪個,
這時候又有人有疑問了,能不能修仙小說那樣天外有天,天上還有天,能不能命名空間套命名空間,套套套,此處禁止套娃,
答案是可以的,引入的時候:using namespaceone.namespacetwo 用英文符號.即可,跟Java包路徑同理,
😜前處理器
從字面理解就是提前對資訊進行處理,她確實也是這樣的,她會根據你指定的條件,只編譯滿足條件的代碼,不滿足條件的代碼不編譯,既區分了軟體版本,代碼還在一塊,管理方便,預處理指令是#開始的,且只能作為開頭,一般指令單獨占一行,都有哪些指令在這就不單獨寫了,在Unity中指令挺有用的,因為PC是鍵盤,Android事件是手勢,用預處理提前寫好不同端的不同實作代碼(當然她們功能可能是一致的),打包發布的時候利人利己,
😜例外
哎呀,這個老四件套了:try、catch、finally 和 throw
- try: 一個 try 塊標識了一個將被激活的特定的例外的代碼塊,后跟一個或多個 catch 塊,
- catch: 程式通過例外處理程式捕獲例外,catch 關鍵字表示例外的捕獲,
- finally: finally 塊用于執行給定的陳述句,不管例外是否被拋出都會執行,例如,如果您打開一個檔案,不管是否出現例外檔案都要被關閉,
- throw: 當問題出現時,程式拋出一個例外,使用 throw 關鍵字來完成,
😜反射
通俗的講就是可以訪問一個類的所有屬性和方法,且能夠呼叫,有人提問了:隨便寫的public類不都是能任意訪問呼叫的嗎,這有什么區別?
區別在于一個是正常寫代碼,你知道代碼邏輯和內容,且都在你的掌控之內,當然能訪問;而反射不同她能夠訪問你不清楚的類,比如三方框架你遇到這個框架里某個類某個方法沒有對外開放,而你又需要使用,就可以用反射把她拋出來,
優點:
- 反射提高了程式的靈活性和擴展性,
- 降低耦合性,提高自適應能力,
- 它允許程式創建和控制任何類的物件,無需提前硬編碼目標類,
缺點:
- 性能問題:使用反射基本上是一種解釋操作,用于欄位和方法接入時要遠慢于直接代碼,因此反射機制主要應用在對靈活性和拓展性要求很高的系統框架上,普通程式不建議使用,
- 使用反射會模糊程式內部邏輯;程式員希望在源代碼中看到程式的邏輯,反射卻繞過了源代碼的技術,因而會帶來維護的問題,反射代碼比相應的直接代碼更復雜,
😜屬性
總結一句話,和Java里物體的get/set方法一樣的性質,
😜委托
使用關鍵字delegate來修飾,必須用new關鍵字來創建,且與某個特定方法關聯,
比較官方的說法:表示對具有特定引數串列和回傳型別的方法的參考,通過委托,可以將方法視為可分配給變數并可作為引數傳遞的物體, 委托還類似于其他一些語言中存在的“函式指標”概念, 與函式指標不同,委托是面向物件且型別安全的,
按照自己的理解:委托就是包一個外殼,操作外殼就是呼叫殼內的內容,就好像老板讓你板磚,你委托給另一個人讓她板磚,這就是委托,
委托中還能通過加減號來實作多個,稱之為多播,只有相同型別的委托可以合并,
使用場景:因剛需C#沒什么實際經驗,大家知道有什么好的實際應用環境嗎
委托示例:
//這個是宣告個委托
delegate int NumberChanger(int n);
static int num = 10;
public static int AddNum(int p)
{
num += p;
return num;
}
public static int MultNum(int q)
{
num *= q;
return num;
}
static void Main(string[] args)
{
// 創建委托實體
NumberChanger nc;
NumberChanger nc1 = new NumberChanger(AddNum);
NumberChanger nc2 = new NumberChanger(MultNum);
// 使用委托物件呼叫方法
nc1(25);
Console.WriteLine("Value of Num: {0}", num);
nc2(5);
Console.WriteLine("Value of Num: {0}", num);
//下面是組播 使用 +或- 符號操作
nc = nc1;
nc += nc2;
// 呼叫多播
nc(5);
Console.WriteLine("Value of Num: {0}", num);
Console.ReadKey();
//輸出結果為:
//Value of Num: 35
//Value of Num: 175
//Value of Num: 75
}
👉其他
📢作者:小空和小芝中的小空
📢轉載說明-務必注明來源:https://zhima.blog.csdn.net/
📢歡迎點贊👍收藏🌟留言📝
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/304313.html
標籤:java
