c#一维数组不同元素个数问题,求个快点的算法

wanabe 2008-03-10 05:54:30
比如说string[] aa = new string[]{1,2,1,2,1,2}
我要得到的结果是2
...全文
152 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
refeiner 2008-03-11
  • 打赏
  • 举报
回复
.NET2.0

public static void Main()
{
int[] EX_Array = {1,2,3,4,3,3,4,3,4,3};
Predicate<int> match = new Predicate<int>(FindMethod<int>);
int[] answers = Array.FindAll(EX_Array, match);
foreach(int answer in answers)
{
Console.WriteLine(answer);
}
Console.ReadLine();
}

public static bool FindMethod<T>(T number) where T:IComparable
{
int result = number.CompareTo(3);
return result == 0;
}
bobocici 2008-03-10
  • 打赏
  • 举报
回复
刚刚在怀疑,不可能有vb支持而优雅的c#不支持的道理呢,果然....
        
static void Main(string[] args)
{
string[] temp = new string[] { "aaa", "bbb", "ccc", "aaa", "bbb", "ccc" };
Console.WriteLine( temp.Distinct<string>().Count<string>());
}

好像是可以的。
vrhero 2008-03-10
  • 打赏
  • 举报
回复

Dim aa As String() = {1, 2, 1, 2, 1, 2}
Dim x = Aggregate a In aa Select a Distinct Into Count()

最简单的...不幸地是...

1.只有.NET 3.5以上才支持...

2.只有VB才支持...
zhengren2008 2008-03-10
  • 打赏
  • 举报
回复
一般也就是
foreach(string s in aa}
{
int count = 0;
if(s == "2"}
{
count++
}
}

console.writeline(count);
changjiangzhibin 2008-03-10
  • 打赏
  • 举报
回复
遍历再计数
jinjazz 2008-03-10
  • 打赏
  • 举报
回复
只有循环判断
lake_cx 2008-03-10
  • 打赏
  • 举报
回复
没排序的不可能快

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧