泛型委託實現例如 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...