列タイトルと情報を含むテーブルがあります。
インデックスがタイトルになる配列を作成したいと思います。そのインデックスの配列の実際の値は、同じ行の情報です。
したがって、そのような行が 3 つある場合:
Title Info
ABC Hi
DEF Sup
GHI Hello
をお願いしたいのですがStringArray["ABC"]
、これは「こんにちは」を返します。
どうやってやるの?
みんなありがとう
Dictionary<String, String>
文字列配列ではなく、が必要です。
var myStrings = new Dictionary<String, String>();
myStrings.Add("ABC", "Hi");
myStrings.Add("DEF", "Sup");
myStrings.Add("GHI", "Hello");
Console.WriteLine(myStrings["ABC"]);
配列は、整数でのみインデックスを付けることができます。Dictionary<string, string>
、またはを実装する他の型を使用するかIDictionary<string, string>
、文字列インデクサーを使用して独自の型を実装する必要があります。
それについては辞書を参照してください
あなたはこのようにすることができます
Dictionary<string, string> Book = new Dictionary<string, string>();
Book.Add("ABC","Hi");
Book.Add("DEF","Sup");
Book.Add("GHI","Hello");
などなど。
だからあなたが言うとき
Book["ABC"]
それは戻ってきますHi
辞書を使用して実装する必要があります。
var table = new Dictionary<string,string>(
{"ABC", "Hi"},
{"DEF", "Sup"},
{"GHI", "Hello"}
);
今、あなたはそれを使用することができます
var info = table["ABC"];
存在しないキーを使用すると例外がスローされることに注意する必要があります
TryGetValue を使用して、この例外を回避できます
string info;
if(!table.TryGetValue("ABC", out info))
{
info = "default value if required";
}