c# - 检查数组中的多个元素是否包含相同的值
问题描述
例如,我有一个充满随机数的数组,我将把它称为一个骰子。
Random rnd = new Random()
int[] dice=new int [5]
for (int i=0;i<dice.length;i++)
{
dice[i]= rnd.next(1,7)
}
现在为了简单起见,我想问一下我怎样才能知道是否有一个实例中的三个。
解决方案
用一个IDictionary<int,int>
var dict = new Dictionary<int,int>();
foreach (int i in dice)
if(!dict.ContainsKey(i))
dict.Add(i,1);
else dict[i]++;
(可选)您可以使用 Linq 获取多次出现的数字
var duplicates = dict.Where( x=>x.Value > 1 )
.Select(x=>x.Key)
.ToList();
推荐阅读
- google-apps-script - 将新数据附加到另一个工作表中
- reactjs - 如何从 getAllByTestId 中获取文本值?
- airflow - Airflow Slack 无法发送消息
- javascript - 如何在 svg 元素之外撤消更改
- haskell - 哈斯克尔。返回第一个重复数字的索引
- arm - ARM 汇编输出无法正常工作
- jenkins-pipeline - sap-cloud-sdk-pipeline_如何在 config.yml 文件中配置多个生产分支?
- laravel - 如果父表中的值列大于子表中的值之和,则 Laravel 查询子表中的值之和
- python - 优化将数据从 BigQuery 传输到 MongoDB 的 Airflow 任务
- c++ - C/C++ 库可以是什么文件扩展名?