------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
static void Main(string[] args) { string str = "Welcome to Chinaworld".Replace(" ","");//定义默认需要处理的字符串 var xi = str.ToUpper().ToCharArray();//转成大写后,在转成数组 var xx = xi.GroupBy(e => e).ToList(); //Linq分组查询 按组的长度排列 for (int i = 0; i < xx.Count(); i++) { Console.Write(str.ToArray()[i].ToString() + xx[i].Count() + '\t'); //输出每个字符的次数!! } }
由于不好理解..我就不考虑使用数组本身的循环要求........既然要求是要转为数组处理..让我想起linq的作用..
但是linq处理后有个bug..就是不区分大小写..总数计算了.....结果就是小数英文计算自己的..
大写计算大写的..所以我就想了个办法..默认字符串不改变..只改变linq遍历本身需要的数组
既然是同一数组..只要在循环的时候..使用原始字符串位置替换查询字符串就能解决了..
因为全转成大写linq分组查询的聚合数就是正确的!!!
结果如下:
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------