0

短くて簡単なバージョンは次のとおりです。私はデータベースを持っています。そのデータベースとやり取りするために使用する ac# リストがあります。プログラムが開始し、データをリストにダンプし、プログラムが終了し、データベースに保存します。

ただし、ここに問題があります。リスト項目を作成および削除するときに、リスト内の属性 (id) の 1 つが常に一意であることを確認する必要があります。リストにはSQLの自動インクリメントに似たものがあるのではないかと考えていましたか?それとも、どのアイテムがどの場所にあるかの数値インデックスだけでしょうか?

AddedDependents.Add(new Dependent
                   {
                       IsSpouse = isSpouse,
                       Id = /*unique id/*
                   });
4

2 に答える 2

0

生成してGuidみませんか?

例えば

AddedDependents.Add(
    new Dependent
    {
        IsSpouse = isSpouse,
        Id = Guid.NewGuid().ToString("N")
     });

したがって、あなたの「Id」が文字列であることを意味します。これが可能かどうかについて、あなたの質問から読み取ることができませんでした。

または、文字列にしないでGuid、次のような型にします。

AddedDependents.Add(
    new Dependent
    {
        IsSpouse = isSpouse,
        Id = Guid.NewGuid()
     });
于 2012-08-09T16:47:10.507 に答える
0

リストのインデックスを使用できます。

AddedDependents.Add(new Dependent
               {
                   IsSpouse = isSpouse,
                   Id = AddedDependents.Count
               });

次に、DependentId とリスト インデックスは同じなのでDependent、リストからそれを取得するのは簡単です。

コメントで述べたように、このリストから要素を削除する可能性が高い場合は、Id を介して依存関係を取得することはできませんAddedDependents[dependent.Id]が、代わりにリストを反復処理する必要があります。

AddedDependents.Where(d => d.Id == dependent.Id);
于 2012-08-09T16:52:48.067 に答える