C# を独学で 2 か月間学習しています。以前、私は PHP を学び、次のようにインデックスが文字列である配列があることを確認しました。
$John["age"] = 21;
$John["location"] = "Vietnam";
配列要素に何を設定したかを覚えておくと非常に便利です。C# がその配列型をサポートしているかどうかを調べようとしましたが、まだ回答がありません。
C# にはこのような配列がありますか? もしそうなら、どうすれば作成できますか?
C# は、インデックスの任意の型のオブジェクトをサポートしています。組み込みの実装はSystem.Collections.Generic.Dictionary<T1,T2>
. 次のように宣言できます。
Dictionary<string, string> myDictionary = new Dictionary<string, string>();
Dictionary<TKey, TValue>
はい、これは C# でジェネリッククラスまたは非ジェネリックで表される連想配列Hashtable
です。
Hashmap
値がすべて同じ型ではないため、コードは a でのみ可能です。ただし、そのデザインを再考することを強くお勧めします。
他の人が言ったように使用してくださいSystem.Collections.Generic.Dictionary<T1,T2>
。知識を完成させるには、の動作を自分で制御できることを知っておく必要があります[]
。例:
public class MyClass
{
public string this[string someArg]
{
get { return "You called this with " + someArg; }
}
}
class Program
{
void Main()
{
MyClass x = new MyClass();
Console.WriteLine(x["something"]);
}
}
「あなたはこれを何かで呼んだ」を生み出します。
詳細については、ドキュメントをご覧ください