よし、これがシナリオだ。私は常に一緒に行くキーの静的なペアを持っています。1 つのキーはインデックス (別名) で、もう 1 つのキーは説明 (別名または) です。これらのキーはすべて事前に知っているので、実際に変化するのは値だけで、新しいキーが追加されることはありません。int
string
enum
ただし、値は、string、int、long などの任意の型にすることができます。一部の値は特異ではなく、複数の値で構成されています。ただし、各キーペアがどのタイプの値を指すかは事前にわかっています。
ほとんどの場合、値は常にインデックスを使用して設定されます。ただし、インデックス(int)または説明(文字列/列挙)のいずれかで値にすばやくアクセスできるようにしたい(ループはしないでください。キャストもしないでください)。また、インデックスを介して値にアクセスするときは、説明にもアクセスする必要があります
これは物事をより明確にするかもしれません:
1/Name ----> "danny" //1 and Name are known in advance and always go together. also, they always point to a string
2/Age ----> 24 //2 and Age are known in advance and always go together. also, they always point to an int
3/Time ----> 352343463463L //3 and Time are known in advance and always go together. also, they always point to a long
4/Occupation ---> [description] "magician"
---> [type] "entertainer"
---> [years] 3 //4 and Status are known in advance and always go together. also they will always point to 2 strings and and an int (or an object contraining 2 strings and an int...)
必要な機能:
set(1, "Jasmine");
get(1); //returns "Jasmine"
get(Name); //return "Jasmine" (name can be either string or enum I suppose)
getDescription(1); // returns Name (again, name could be either string or enum). this function could possibly be merged with get(1) to have it return both description and value in the first place.
set(2, 32);
get(2); //returns 32
get(Age); //returns 32