很多时候我们需要判断数组或List中元素的出现次数
废话不多说,代码直接送上:
using System;
using System.Collections.Generic;using System.Linq;
namespace ConsoleApplication1
{
class ItemInfo
{
/// <summary>
/// ItemInfo 类记录数组元素重复次数
/// </summary>
/// <param name="value">数组元素值</param>
public ItemInfo(int value)
{
Value = value;
RepeatNum = 1;
}
/// <summary>
/// 数组元素的值
/// </summary>
public int Value { get; set; }
/// <summary>
/// 数组元素重复的次数
/// </summary>
public int RepeatNum { get; set; }
}
class Program
{
static void Main(string[] args)
{
// 待统计的整型数组
int[] array = { 1, 1, 1, 3, 1, 2, 2, 1, 3, 4, 2, 1, 5, 3, 4 };
// 集合 dic 用于存放统计结果
Dictionary<int, ItemInfo> dic = new Dictionary<int, ItemInfo>();
// 开始统计每个元素重复次数
foreach (int item in array)
{
if (dic.ContainsKey(item))
{
// 数组元素再次,出现次数增加 1
dic[item].RepeatNum += 1;
}
else
{
// 数组元素首次出现,向集合中添加一个新项
// 次数设置为 1
dic.Add(item, new ItemInfo(item));
}
}
foreach (ItemInfo info in dic.Values)
{
Console.WriteLine("数组元素 {0} 出现的次数为 {1}", info.Value, info.RepeatNum);
}
}
}
}
想获取更多C#或者unity学习资源,加QQ群:557081074