如有个List<string> lst=new List<string>();
我想让它里面有N个相同的值,如:
lst.Add("aa");
lst.Add("aa");
lst.Add("aa");
.......
都是相同的值(字符);
如果发现一个有不同的,就统计下有几个不同的值
如下面:
lst.Add("aa")
lst.Add("aa")
lst.Add("bb")
lst.Add("CC")
lst.Add("aa")
.....
有三个不同的..
如何写一个函数,都是相同的就返回0,如果有不同的就返回lst里面的不同项的值????
我想让它里面有N个相同的值,如:
lst.Add("aa");
lst.Add("aa");
lst.Add("aa");
.......
都是相同的值(字符);
如果发现一个有不同的,就统计下有几个不同的值
如下面:
lst.Add("aa")
lst.Add("aa")
lst.Add("bb")
lst.Add("CC")
lst.Add("aa")
.....
有三个不同的..
如何写一个函数,都是相同的就返回0,如果有不同的就返回lst里面的不同项的值????
解决方案 »
- 求助tesseract在c#里的使用~
- 数据库的错误,在线等
- 郁闷啊,c#中的timer问题,已经弄了一整天时间了!
- 很感兴趣的问题,经常被人忽视,却很常用
- 如何实现winform上textbox1输满三个数字后光标跳到textbox2?
- 如何让Mdi主窗口区的控件永远至底?
- 用C#开发一个基于WEB的图书管理系统请问谁有这方面的资料?帮帮我这个菜烏!!!
- 请问如何得到存储过程的返回值
- 关于出现ContextSwitchDeadlock异常,高手帮忙
- 请问一个在DataGrid的数据显示不正确的问题
- 我的VS2008中没有DllImport?只有DllImportAttribute
- TreeView 实时更新的问题(急求)
我觉得应该是:“都是相同的就返回1,如果有不同的就返回lst里面的不同项的项数”
using System.Collections.Generic; class A
{
static void Main()
{
List<string> lst = new List<string>();
lst.Add("aa");
lst.Add("aa");
lst.Add("bb");
lst.Add("CC");
lst.Add("aa");
Console.WriteLine(Count(lst));
}
static int Count(List<string> p)
{
List<string> q = new List<string>();
foreach (string x in p)
if (!q.Contains(x)) q.Add(x);
return q.Count;
}
}
static int Count<T>(IList<T> p)
{
List<T> q = new List<T>();
foreach (T x in p)
if (!q.Contains(x)) q.Add(x);
return q.Count;
}由于有“类型推断”,调用时仍然可以用 Count(lst)。
using System.Linq;
using System.Collections.Generic;class Program
{
// 使用泛型接口,也适用于数组等实现了该接口的参数
static int DistinctCount<T>(IList<T> i)
{
return i.Distinct<T>().Count();
} static void Main()
{
int[] array = new int[] { 1, 2, 2, 1, 2, 2 };
Console.WriteLine(DistinctCount(array)); List<string> lst = new List<string>();
lst.Add("aa");
lst.Add("aa");
lst.Add("bb");
lst.Add("CC");
lst.Add("aa");
Console.WriteLine(DistinctCount(lst));
}
}
var q=from item in lst
group item by item into g
select new {str=g.key,number=g}
这样的话,你就可以通过foreach(var m in g)
{
console.writeline(g.key); //查看所有不同的字符
foreach(var n in number)
{
//TODO:这里记录包含的次数
}
}
List<string> lst = new List<string>();
lst.Add("aa");
lst.Add("aa");
lst.Add("bb");
lst.Add("CC");
lst.Add("aa");
lst.Add("dd");
lst.Add("dd");
var s=lst.Intersect(lst);
if (s.Count() == 1)
{
Response.Write("全部相同");
}
else
{
Response.Write(s.Count().ToString()+"个不同<br/>");
foreach (string ss in s)
{
Response.Write(ss+"<br/>");
}
}