常用辅助方法收集
2009-08-25 15:11 by 老赵, 5753 visits在项目里经常会出现一些常用的,好用的扩展方法,因此也想到把它收集起来。原本打算放在gist.github上,不过似乎那里管理功能较为薄弱,因此只适合零碎的代码片断,不适合长期地维护一些代码。而放在MSDN Code Gallary上又嫌较为简单,不成一个完整的示例——自然更别说是作为开源项目放在CodePlex上了。思来想去,还是放在博客上较为合适。
如果您有什么好的辅助方法,也可以告诉我,希望可以成为一套丰富的辅助方法,简化我们的开发生活。
字典相关
public static class DictionaryExtensions { public static TDictionary CopyFrom<TDictionary, TKey, TValue>( this TDictionary source, IDictionary<TKey, TValue> copy) where TDictionary : IDictionary<TKey, TValue> { foreach (var pair in copy) { source.Add(pair.Key, pair.Value); } return source; } public static TDictionary CopyFrom<TDictionary, TKey, TValue>( this TDictionary source, IDictionary<TKey, TValue> copy, IEnumerable<TKey> keys) where TDictionary : IDictionary<TKey, TValue> { foreach (var key in keys) { source.Add(key, copy[key]); } return source; } public static TDictionary RemoveKeys<TDictionary, TKey, TValue>( this TDictionary source, IEnumerable<TKey> keys) where TDictionary : IDictionary<TKey, TValue> { foreach (var key in keys) { source.Remove(key); } return source; } public static IDictionary<TKey, TValue> RemoveKeys<TKey, TValue>( this IDictionary<TKey, TValue> source, IEnumerable<TKey> keys) { foreach (var key in keys) { source.Remove(key); } return source; } }
我记得 new dictionary<>(sourcedic) 就可以copy了,不用一个一个add
但是老赵你是不是为了照顾 SortedList阿