C#面:Set 里的元素是不能重复的,用什么方法来区分是否重复

在 C# 中,Set 是一种集合类型,它是由一组唯一的元素组成的,不允许重复。当向Set中添加重复的元素时,Set 会自动忽略重复的元素,只保留一个副本。

这是因为Set内部使用了哈希表来存储元素,它会首先计算元素的哈希码,然后与已有元素的哈希码进行比较。如果哈希码相同,HashSet 会调用元素类型的 Equals() 方法来进一步比较元素是否相等。如果哈希码不同,则 HashSet 会认为元素不重复。

向 Set 添加重复元素示例:

cs 复制代码
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // 创建一个Set
        HashSet<int> mySet = new HashSet<int>();

        // 向Set中添加元素
        mySet.Add(1);
        mySet.Add(2);
        mySet.Add(3);
        mySet.Add(2); // 添加重复元素

        // 遍历Set中的元素
        foreach (int num in mySet)
        {
            Console.WriteLine(num);
        }
    }
}

运行上述代码,输出结果为:

cs 复制代码
1
2
3

可以看到,重复的元素2只保留了一个副本。

相关推荐
土了个豆子的2 分钟前
02.继承MonoBehaviour的单例模式基类
开发语言·visualstudio·单例模式·c#·里氏替换原则
疯狂的维修3 分钟前
c#中public类比博图
c#·自动化
qq_172805599 分钟前
Go 自建库的使用教程与测试
开发语言·后端·golang
久绊A14 分钟前
Hydra-SSH 破解安全防范
开发语言·php
阿昭L22 分钟前
c++中获取随机数
开发语言·c++
3壹28 分钟前
数据结构精讲:栈与队列实战指南
c语言·开发语言·数据结构·c++·算法
悟乙己37 分钟前
使用 Python 中的强化学习最大化简单 RAG 性能
开发语言·python·agent·rag·n8n
max50060041 分钟前
图像处理:实现多图点重叠效果
开发语言·图像处理·人工智能·python·深度学习·音视频
RickyWasYoung1 小时前
【代码】matlab-遗传算法工具箱
开发语言·matlab
土了个豆子的3 小时前
03.缓存池
开发语言·前端·缓存·visualstudio·c#