![](/img/trans.png)
[英]How to check first character of a string if a letter, any letter in C#
[英]How to Count in a string array for string First letter in linq C#
var query = from str in strdizi
where str.StartsWith(str.Substring(0, 1))
orderby str
group str by str.Substring(str.LastIndexOf(Convert.ToChar(str.Substring(0, 1))))
into ws
where ws.Count() >= 1
select ws;
foreach (var item in query)
{
Console.WriteLine(item.Key + " " + item.Count());
foreach (var items in item)
{
Console.WriteLine(items);
}
}
但是输出是
安迪1
安迪
亚瑟1
亚瑟
我想要 ;
A-1
安迪
亚瑟
阿什琳
感谢您的帮助。 对不起,我的英语不好。
您不需要where
条件,将数据按子字符串分组就足够了:
var strdizi = new string [] {"Andy", "Arthur", "Ashlynn", "Ben", "Chris"};
var query = from str in strdizi
group str by str.Substring(0, 1 )
into ws
where ws.Count() >= 1
select ws;
foreach (var item in query)
{
Console.WriteLine(item.Key + " " + item.Count());
foreach (var items in item)
{
Console.WriteLine(items);
}
}
结果如下:
A 3
Andy
Arthur
Ashlynn
B 1
Ben
C 1
Chris
因为我更喜欢方法语法而不是查询语法,所以这是您要这样做的方式:
var strdizi = new string [] {"Andy", "Arthur", "Ashlynn", "Ben", "Chris"};
var query = strdizi.GroupBy(g=>g.Substring(0,1));
foreach (var item in query)
{
Console.WriteLine(item.Key + " " + item.Count());
foreach (var items in item)
{
Console.WriteLine(items);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.