Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于对象的属性创建组标识符_C#_.net - Fatal编程技术网

C# 基于对象的属性创建组标识符

C# 基于对象的属性创建组标识符,c#,.net,C#,.net,我有一个可以通过复选框删除的对象,它将填充一个网格。问题在于,对象是由几个属性分组的,这些属性在创建对象时是它们之间的公共属性。例如,我有一个对象 public class GroupedObject { Name { get; set; } Level { get; set; } Assignment { get; set; } AssignmentDate {get; set; } } 在本例中,当我从gui保存GroupedObject时,我有多个对象的N

我有一个可以通过复选框删除的对象,它将填充一个网格。问题在于,对象是由几个属性分组的,这些属性在创建对象时是它们之间的公共属性。例如,我有一个对象

public class GroupedObject
{
    Name { get; set; }
    Level { get; set; }
    Assignment { get; set; }
    AssignmentDate {get; set; }
}
在本例中,当我从gui保存GroupedObject时,我有多个对象的Name属性设置不同,但可以为它们指定相同的级别、Assignment和AssignmentDate。因此,这三个属性使批处理具有唯一性。我想知道创建一个唯一标识符来对这三条信息进行分组的最佳方法是什么。我在想一些类似的事情

public class GroupedObject
{
    ....
    public int BatchId
    {
        var batchString = string.format("{0}{1}{2}", Level, Assignment, AssignmentDate);
        return batchString.GetHashCode();
    }
}
通过这种方式,在网格上,我可以在后台渲染某些内容,这样当我在组中选择一个项目时,就会选择“一批项目”


有没有其他的/标准的方法来处理这样的事情,还是由实现者来决定。

据我所知,没有标准的方法来做你想做的事情,所以基本上取决于implementer

对于您的实现,我唯一的问题是创建一个字符串——您可以通过获取作为复合ID一部分的所有成员的哈希代码并从中生成不同的哈希代码来做得更好。看看有什么想法

注:


如果性能对您来说是个问题(大量数据绑定到网格),您应该测试不同的算法,看看哪些算法最适合您的情况。

谢谢,这似乎是一个更好的解决方案