0

私はこのような文字列を持っています:

"MyPropery = Value"

これを使用可能なkeyValuePair(または同様のオブジェクト)に変換する簡単な方法(組み込みの.netを使用)はありますか?

解決策の1つは分割を使用することですが、キーと値が2つしかないため、アイテムのリストよりも具体的なものを探しています。

前もって感謝します。

4

1 に答える 1

2

それらを手動で分割し、Dictionary<String, String>:に貼り付けます。

static void Main(string[] args)
{
    var input = @"Key1=Value1
                    Key2=Value2
                    Key3=Value3=Value4
                    FooBar";

    var result = CreateKeyValuePairs(input);

    foreach (var kvp in result)
    {
        Console.WriteLine("{0} = {1}", kvp.Key, kvp.Value);
    }

    // Access specific item by key:
    Console.WriteLine(result["Key2"]);
}

private static Dictionary<String, String> CreateKeyValuePairs(string input)
{
    var result = new Dictionary<String, String>();

    foreach (var line in input.Split('\n'))
    {
        var kvp = line.Trim();
        if (!String.IsNullOrEmpty(kvp))
        {
            int equals = kvp.IndexOf('=');
            if (equals > 0)
            {
                var key = kvp.Substring(0, equals);
                var value = kvp.Substring(equals + 1);

                // You might want to trim the key and value
                result.Add(key, value);
            }
            else
            {
                // Invalid key/value-pair
            }
        }
    }

    return result;
}
于 2012-10-25T10:55:07.457 に答える