예제 #1
0
 public IList <T2> GetAllT2ListCopy()
 {
     lock (this.locker)
     {
         return(CollectionConverter.CopyAllToList <T2>(this.reversedDictionary.Keys));
     }
 }
예제 #2
0
 public IList <T1> GetAllT1ListCopy()
 {
     lock (this.locker)
     {
         return(CollectionConverter.CopyAllToList <T1>(this.dictionary.Keys));
     }
 }
예제 #3
0
        /// <summary>
        /// GetUnion 高效地求两个List元素的并集。
        /// </summary>
        public static List <T> GetUnion <T>(IList <T> list1, IList <T> list2)
        {
            SortedDictionary <T, int> result = new SortedDictionary <T, int>();

            foreach (T tmp in list1)
            {
                if (!result.ContainsKey(tmp))
                {
                    result.Add(tmp, 0);
                }
            }

            foreach (T tmp in list2)
            {
                if (!result.ContainsKey(tmp))
                {
                    result.Add(tmp, 0);
                }
            }

            return((List <T>)CollectionConverter.CopyAllToList <T>(result.Keys));
        }
 /// <summary>
 /// ConvertAll 将source中的每个元素转换为TResult类型
 /// </summary>
 public static IList <TResult> ConvertAll <TObject, TResult>(IEnumerable <TObject> source, Func <TObject, TResult> converter)
 {
     return(CollectionConverter.ConvertSpecification <TObject, TResult>(source, converter, null));
 }