C#中将数组中相同的元素提取出来如何实现?

比如数组里面的元素是这样的{1,1,2,3,1,2,1,3,3},我要实现的效果是1.count=4,2.count=2,3.count=3,就是这么个意思,我就是想对比... 比如数组里面的元素是这样的{1,1,2,3,1,2,1,3,3},我要实现的效果是1.count=4,2.count=2,3.count=3,就是这么个意思,我就是想对比这个数组里面的元素,然后把相同的提取出来,计个数,这个用代码要怎么实现呢?求大神解答。 展开
 我来答
百度网友47aa747
2013-12-18 · TA获得超过503个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:175万
展开全部

很简单啊,用集合或者字典都可以。

建一个字典,数字作为键,出现次数作为值,遍历数组,假如字典里没有,就加到字典里,字典里有,就把次数加一。            

            int[] nums={1,1,2,3,1,2,1,3,3}; 
            Dictionary<int, int> dic = new Dictionary<int, int>();
            for (int i = 0; i < nums.Length; i++)
            {
                if (!dic.ContainsKey(nums[i]))    //字典里没有这个数
                { dic.Add(nums[i], 1); }         //加进去,设置出现的次数为一次
                else
                { dic[nums[i]]+= 1; }        //有这个数,次数加一
            }
            foreach (var item in dic)
            {
                Console.WriteLine(item.Key+"出现了"+item.Value+"次");
            }
            Console.ReadKey();
TableDI
2024-07-18 广告
`VLOOKUP` 函数是 Excel 中一个常用的函数,用于在表格或区域中查找值,并返回该值所在行中指定列的对应值。当需要匹配两个表格的相同数据时,可以利用 `VLOOKUP` 来实现。具体来说,首先确保两个表格中有一个共同的列(例如ID... 点击进入详情页
本回答由TableDI提供
阳光的雷咩咩
推荐于2016-05-09 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7569万
展开全部
        //using System.Linq;
        static void Main(string[] args)
        {
            int[] nums = new int[] { 1, 1, 2, 3, 1, 2, 1, 3, 3 };
            var v = from arr in nums
                    group arr by arr into g
                    select new
                    {
                        g.Key,
                        c = g.Count()
                    };

            foreach (var r in v)
                Console.WriteLine("num={0},count={1}", r.Key, r.c);

            Console.ReadLine();
        }
追问
linq不太能看懂= =不用linq的不行吗?
追答
那你就用斗酒僧super的。看不懂为什么不努力去看懂?你想看懂就表明你想懂脑筋,想动脑筋为什么要在这里问,不自己去实现算法?自相矛盾。。。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友97b5a46fa2
2013-12-18 · TA获得超过135个赞
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:128万
展开全部
我想到一个比较笨的方法。
新建一个二维数组2,然后遍历你的数组1,数组1的第一个元素和其他元素匹配,然后放入数组2。
然后循环,就能得到结果了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式