0

我有一个这样的字符串:

“我的财产=价值”

有没有一种快速的方法(使用内置的.net)将其转换为可用的 keyValuePair(或类似对象)?

一种解决方案是使用拆分,但我正在寻找比项目列表更具体的东西,因为只存在 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 回答