などの一般的な配列を持つ辞書、私は次の宣言で辞書を使いたい:私のクラスの操作は、すべての一般的なタイプのため、全く同じなのでC#の私のクラスで値
Dictionary<string, T[]>
、私はクラスをジェネリックとして定義したくありません(つまり、辞書に挿入するジェネリックタイプごとに別のクラスインスタンスを作成する必要があります)。私がしようとしています
1つの代替ではなくDictionary<string, object>
を使用することです:
public void Add<T>(string str, T value)
{
// Assuming key already exists
var array = (T[]) dictionary[str];
array[0] = value;
}
はしかし、辞書を反復処理するとき、どのように私は戻って、配列にオブジェクト値をキャストしていますか?
foreach(string strKey in dictionary.Keys)
{
var array = (T[]) dictionary[strKey]; // How to cast here ?
//...
array[0] = default(T);
}
ありがとうございます。
あなたがしようとしていることを知ることは素晴らしいことでしょう。 –
「オブジェクトをジェネリック型にキャストする」とはどういう意味ですか? – Ani
'indexInArray'はどこから来たのですか? – Mehrdad