我有一个这样的字符串:
“我的财产=价值”
有没有一种快速的方法(使用内置的.net)将其转换为可用的 keyValuePair(或类似对象)?
一种解决方案是使用拆分,但我正在寻找比项目列表更具体的东西,因为只存在 2 个键 + 值。
提前致谢。
我有一个这样的字符串:
“我的财产=价值”
有没有一种快速的方法(使用内置的.net)将其转换为可用的 keyValuePair(或类似对象)?
一种解决方案是使用拆分,但我正在寻找比项目列表更具体的东西,因为只存在 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;
}