简短的版本是这样的:我有一个数据库。我有一个用于与该数据库交互的c#列表。程序启动,将数据转储到列表中,程序结束,将其保存回数据库。
这是我的问题:我需要确保在创建和删除列表项时列表(id)中的某个属性始终是唯一的。我想也许列表可能有类似于SQL自动增量的东西?或者也许只是一个项目在哪个位置的数字索引?
AddedDependents.Add(new Dependent
{
IsSpouse = isSpouse,
Id = /*unique id/*
});
答案 0 :(得分:0)
如何生成Guid
?
E.g。
AddedDependents.Add(
new Dependent
{
IsSpouse = isSpouse,
Id = Guid.NewGuid().ToString("N")
});
因此暗示你的“Id”是一个字符串,我无法从你的问题中读出这是否可能。
或者,不要将其设为字符串,而是将其设为Guid
类型,如:
AddedDependents.Add(
new Dependent
{
IsSpouse = isSpouse,
Id = Guid.NewGuid()
});
答案 1 :(得分:0)
您可以使用列表的索引:
AddedDependents.Add(new Dependent
{
IsSpouse = isSpouse,
Id = AddedDependents.Count
});
然后Dependent
Id和列表索引是相同的,因此从列表中获取Dependent
变得微不足道。
正如评论中所提到的,如果您可能从此列表中删除元素,那么您不能通过Id获取依赖项,例如AddedDependents[dependent.Id]
,而是需要遍历列表:
AddedDependents.Where(d => d.Id == dependent.Id);