我有一个像这样的字符串:
Option1: Value1
Option2: Value2
Option3: Value3
Run Code Online (Sandbox Code Playgroud)
我试图将它放入一个多维数组,以便我可以根据我为'Option'添加的内容查找值,它将返回值.
到目前为止,我有这个将每行放入数组:
string[] Header = Headers.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);
Run Code Online (Sandbox Code Playgroud)
我不确定如何将其拆分为二维数组,以便根据冒号分隔符拆分行?
我怎样才能执行查找?例如在PHP中我会使用varible:$Header['Option2']以返回"Option2"的值.
谢谢.
您可以使用LINQ完全构造查找字典:
var dictionary = text.Split(new []{Environment.NewLine}, StringSplitOptions.None)
.Select(line => line.Split(':'))
.ToDictionary(lineParts => lineParts[0], lineParts => lineParts[1]);
Run Code Online (Sandbox Code Playgroud)
解释它在简单代码中的作用:
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);
}
Run Code Online (Sandbox Code Playgroud)
现在您可以像这样查找:
var value = dictionary["Option2"];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |