1 //声明数组 2 char[] chars = {'A', 'B', 'C', 'A', 'A', 'B'}; 3 4 //声明字典,如果chars数组是int类型的, 5 //则相应的collection需要声明称 ConcurrentDictionary<int, int>() 6 var collection = new ConcurrentDictionary<char, int>(); 7 //多线程处理。 8 Parallel.ForEach(chars, ch => 9 { 10 // AddOrUpdate函数,如果 collection中没有元素ch则添加key=ch,value=1的值, 11 //如果已经存在ch元素,Func<char,int,int>即(key,value)就更新键是ch的value的值。 12 collection.AddOrUpdate(ch, 1, (key, value) => 13 { 14 //使键为ch的value值加1 15 return ++value; 16 }); 17 }); 18 19 //输出结果 20 foreach (var item in collection) 21 { 22 Console.WriteLine("{0} {1}",item.Key,item.Value); 23 } 24 Console.WriteLine("Press enter to exit"); 25 Console.ReadLine();
输出结果是: