C# 怎样知道List<string>里 每个元素重复了多少次?

怎样知道List<string>里每个元素重复了多少次如:List<string>listt=newList<string>();listt.Add("aaa");lis... 怎样知道List<string>里 每个元素重复了多少次
如: List<string> listt = new List<string>();
listt.Add("aaa");
listt.Add("aa");
listt.Add("dd");
listt.Add("aaa");
listt.Add("dd");
listt.Add("aa");
listt.Add("aaa");
想要的结果是:aaa3次、aa2次、dd2次
展开
 我来答
百度网友97df5c0af
2013-03-26 · TA获得超过568个赞
知道小有建树答主
回答量:490
采纳率:0%
帮助的人:562万
展开全部
foreach (var item in listt.GroupBy(s => s))
{
Console.WriteLine("{0}:{1}次", item.Key, item.Count());
}

用linq可以简洁优雅去解决。。。
追问
先分组,再统计,好方法。
坑爹啊 ,项目要求用.net2.0。LinQ用不了了。。。。
追答
可以的,using System.Linq就可以。
LinQ在4.0提供语法支持,在2.0已经提供扩展方法支持了。扩展方法在System.Linq命名空间下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiyangbdwk
推荐于2016-06-24 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4393万
展开全部
private int AppearTimes(List<string> L, string text)
{
int c = 0;
foreach (string s in L)
if (s == text)
c++;
return c;
}
追问
我只知道list ,不知道text。
想通过对list自身的遍历来获取,或者.net提供什么API没能直接查找。
追答
我也没找到。我查过findall,但那个更复杂,而且msdn说内部实现仍然是遍历的,你也可以试试linq查询,不过原理不是一样的么?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woxikuanwan
2013-03-26 · 超过10用户采纳过TA的回答
知道答主
回答量:67
采纳率:100%
帮助的人:20.5万
展开全部
shit,最直接循环一下遍历就可以啦,如果不喜欢直接就用list.Contains的函数!true就i++,你懂吧!5分答得辛苦
追问
不能用contains 亲
看来也只能循环遍历了 哎
追答
哦,不行就用正则咯,怎么用我就不帮你搜了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lbhqq
2018-02-28 · TA获得超过646个赞
知道小有建树答主
回答量:391
采纳率:50%
帮助的人:257万
展开全部
//使用Lambda,先分组然后创建匿名类型保存起来。
var resultList= listt.GroupBy(m => m).Select(m => new { m.Key, Count = m.Count() }).ToList();
//resultList是一个包含key和Count属性的匿名对象集合,想知道aaa的count数只需这样取:
var aa = sss.Where(m => m.Key == "aaa").SingleOrDefault().Num;

提问者肯定不需要了,写出来希望能帮到其他朋友~

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0c896e383a2
2013-03-27 · TA获得超过264个赞
知道小有建树答主
回答量:236
采纳率:100%
帮助的人:185万
展开全部
循环比较吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式