什么是MVC中的HashSet

时间:2014-10-14 07:11:08

标签: asp.net-mvc

我是MVC的新手,所以我有问题要理解模型中HashSet的用途是什么。 我正在使用ADO.net Entity Data模型,系统自动生成模型,如..

public partial class Country
{
    public Country()
    {
        this.States = new HashSet<State>();
    }

    public int ID { get; set; }
    public string Name { get; set; }

    public virtual ICollection<State> States { get; set; }
}

任何人都可以用简单的语言解释为什么我应该在这里使用HashSet?

2 个答案:

答案 0 :(得分:2)

HashSet is an optimized set collection. It helps eliminates duplicate strings or elements in an array. It provides a simple syntax for taking the union of elements in a set. This is performed in its constructor.

Represents a set of values. To browse the .NET Framework source code for this type, see the Reference Source

StackOverFlow Reference

答案 1 :(得分:1)

HashSet基本上是一组不同值的集合,这些值除去重复项,并写在构造函数中。因此,当默认字符串初始化为字段时,它将对数据库执行检查以检查是否存在重复值。如果是,则HashSet删除它们。这是HashSet的好例子。

假设您的表名是学生

public class Example
{

    public Example()
    {
        this.Student= new HashSet<Student>();
    }

    public int DivisionID { get; set; }
    public string DivisionName { get; set; }
}

它删除表“ Student”中没有重复顺序的重复字符串。这里的重要说明是,它不会从表记录中删除重复项,但是会从表字段中删除重复项(如果有)。

如果您想要更多,可以访问此链接并在此处获得答案:Understanding HashSet

希望这会有所帮助。