C 泛型委託應用

2021-08-11 09:11:12 字數 1851 閱讀 3453

泛型委託實現例如 list.find()  /array.find()的功能,就是乙個工具(跨平台、通用、方便)

using system.collections;

using system.collections.generic;

using unityengine;

using system;

/// /// 泛型和委託應用

///

public static class arrayhelper }}

}/// /// 降序

///

///

///

///

///

public static void orderbydescending(

t array, selecthandlerhandler)

where tkey : icomparable}}

}/// /// 找最大

///

/// 資料型別

/// 型別當中需要進行比較的型別

/// 陣列

/// 要進行比較的條件

///

public static t max(t array, selecthandlerhandler) where tkey : icomparable

}return t;

}/// /// 最小

///

///

///

///

///

///

public static t min(t array, selecthandlerhandler) where tkey : icomparable

}return t;

}/// /// 按照條件查詢單個物件 characterstate 查詢hp小於15的物件

///

/// 要查詢的陣列當中的型別

/// 要查詢的陣列

/// 要查詢的條件

///

public static t find(t array, findhandlerhandler)

return default(t);

}/// /// 查詢所有符合條件的物件

///

///

///

///

///

public static t findall(t array, findhandlerhandler)

}return list.toarray();

}/// /// 將乙個型別當中某個型別單獨提取出來

/// 將characterstate當中的hp單獨提取出來作為新的

/// float陣列

/// 陣列

/// 要提取的型別

///

///

///

public static tkey select(t array, selecthandlerhandler )

return keys;

}/// characterstate tkey:hp mp speed

/// 選擇委託 t: gameobject tkey:transform position

///

/// 資料型別

/// 當前資料型別中的某乙個型別

///

///

public delegate tkey selecthandler(t t);

public delegate bool findhandler(t t);

}

C 委託三 泛型委託

今天一直在研究委託,因為有函式指標的基礎,還容易上手,但是對於一些概念和實踐,總是為了弄的非常清楚而糾結,這幾篇關於委託的文章我是結合 c 與.net4高階程式設計 msdn 借鑑其他人的博文來總結話語,以最直接簡潔的話來闡述清楚 在我弄懂之前網上的感覺都很模糊 namespace genericd...

c 泛型和委託

listlst new list listl lst.findall delegate t t 或使用linq private void button1 click object sender,eventargs e if mylist.find mathchar null else private...

C 泛型委託 Action Func

泛型委託實際上就是.net framework預定義的委託,基本涵蓋了所有常用的委託,所以一般不用使用者重新宣告。簡潔方便!無返回值的泛型委託 action系列泛型委託,是沒有返回引數的委託,呼叫的時候和普通的委託沒有宣告兩樣。示例 action test1 actiontest2 int x,do...