ウェブサーバーからリストを取得してこのデータを渡していますが、アイテムを渡す順序を維持しようとしています。次の繰返しでリストの注文を維持する
例えば私が
1. Name1
2. Name2
3. Name3
し、さらにこのリストを渡し、それらにIDを割り当てる名前
Name1
Name2
Name3
の一覧を取得しています。
次回の呼び出しで、このリストをもう一度取得し、前回送信した順番を知る必要があります。さて問題は、次回、我々はこのリストを取得するときに、それも、それが重複して持つことができ、任意の順序で来ることができるが、
Name2
Name3
Name4
Name2
を言うことができますように、私はここで私は、私はそれに最後の時間を割り当てられたものをIDを知る必要がありさそれは私が見つけ、私はこのリストに次の時間を取得するときに、辞書を有し、かつ、それを最初に保存すると考える(新しいアイテムに新しいIDを割り当てる)
2. Name2
3. Name3
1. Name4
4. Name2
になるというように。..
必要がありますその "名前"は、そのIDを取得し、名前にそれを割り当てる、このような何か
var searchName = "Name1";
var index = GetNameIndex(searchName);
if (index != 0)
{
nameIndex = index;
}
else
{
_namePositionDictionary.Add(++nameIndex, searchName);
}
int GetNameIndex(string searchName)
{
return (from a in _namePositionDictionary where a.Value == searchName select a.Key).FirstOrDefault();
}
しかし、私の全体のロジックは、私は私の最初のリストで重複
Name1
Name2
Name1 <-- This one didn't got added to the list at all
あなたの辞書は、辞書<文字列、文字列>が含まれ? – vinodh
@vinodh、それは辞書ですが、私は必要に応じて任意のタイプに変更することができます。 –
私は通常、ID、名前、および静的リストを持つカスタムクラスを作成します。リストをIDで簡単に並べ替えることができますので、私はいつも同じ注文をします。 – jdweng