文章速覽
- 泛型
- 泛型概述
- 定義
- 優點
- 實例
- 加載數據
- 保存數據
一個贊,專屬于你的足跡!
泛型
泛型概述
泛型(Generics)是 C# 中一種重要的編程特性,它允許程序員編寫靈活且類型安全的代碼。通過使用泛型,可以創建類、接口、方法等,使其在使用時能夠處理不同類型的參數,從而實現代碼的復用和更高的類型安全。
定義
泛型類型參數:在定義泛型類、接口或方法時,使用一個占位符(稱為類型參數)來表示將要使用的具體類型。例如,在泛型類 List 中,T 就是一個類型參數。
泛型類型實參:在使用泛型類、接口或方法時,指定實際的類型來代替類型參數。例如,List 中的 int 就是類型實參。
優點
類型安全:在編譯時期就能檢查類型錯誤,避免運行時期出現類型相關的錯誤。
代碼復用:編寫一組通用的代碼邏輯,適用于多種不同的數據類型,避免為每種類型重復編寫相似的代碼。
性能提升:在處理值類型時,避免了裝箱(boxing)和拆箱(unboxing)操作,提高了程序的執行效率。
靈活性:可以根據需要隨時指定不同的類型參數,使代碼更加靈活。
實例
加載數據
/// <summary>/// 加載數據/// </summary>/// <returns></returns>public T LoadData<T> (string fileName)where T : class{T ret = null;try{string filePath = Path.Combine(GetDVDAppConfigPath(), fileName);// 如果當前文件不存在,則創建一個默認的if (!File.Exists(filePath)){return null;}var file = File.ReadAllText(filePath);ret = JsonConvert.DeserializeObject<T>(file);}catch (Exception ex){//此處需要根據實際需求進行修改throw new Exception($"加載數據失敗,{ex.Message}");}return ret;}
保存數據
/// <summary>/// 保存數據/// </summary>/// <typeparam name="T"></typeparam>/// <param name="data"></param>/// <param name="fileName"></param>public void SaveData<T>(T data, string fileName){string filePath = Path.Combine(GetDVDAppConfigPath(), fileName);File.WriteAllText(filePath, JsonConvert.SerializeObject(data, Formatting.Indented));}