我有一个像这样的字符串:
Option1: Value1
Option2: Value2
Option3: Value3
我正尝试将其放入多维数组中,以便随后可以根据对“选项”的输入内容查找值,它将返回该值。
到目前为止,我已经将每行放入数组:
string[] Header = Headers.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);
我不确定如何将其拆分为二维数组,以便它将基于冒号分隔符来拆分行?
然后如何执行查找?例如在PHP中,我将使用变量:$Header['Option2']
来返回“ Option2”的值。
谢谢。
答案 0 :(得分:5)
您可以使用LINQ完全构建查找字典:
var dictionary = text.Split(new []{Environment.NewLine}, StringSplitOptions.None)
.Select(line => line.Split(':'))
.ToDictionary(lineParts => lineParts[0], lineParts => lineParts[1]);
用简单的代码解释它的作用:
var lines = text.Split(new []{Environment.NewLine}, StringSplitOptions.None); //split the string in lines
var dictionary = new Dictionary<string, string>();
foreach (var line in lines)
{
var lineParts = line.Split(':'); //split line to parts with : as delimiter
var key = lineParts[0]; //first part is the key
var value = lineParts[1]; //second part is the value
dictionary.Add(key, value);
}
现在您可以像这样简单地查找:
var value = dictionary["Option2"];