下面有逗号分隔的字符串。此字符串包含应用程序中进行处理所需的关系。
string userInputColRela = "input1:Student_Name, input2:Student_Age";
现在,如果我将输入提供为Student_Name
,则需要提取input1
,如果提供的输入是Student_Age
,则需要提取input2
。
我该如何实现?我知道我可以进行循环,但这将是一个冗长的解决方案,其他方法是什么?
答案 0 :(得分:2)
您可以通过首先在逗号处进行拆分,然后在分号处再次进行拆分来解析输入字符串,以字典形式获取包含在其中的键值对。例如:
string userInputColRela = "input1: Student_Name, input2: Student_Age";
var inputLookup = userInputColRela
.Split(',')
.Select(a => a.Split(':'))
.ToDictionary(a => a[0].Trim(), a => a[1].Trim());
var studentName = inputLookup["input1"];
答案 1 :(得分:1)
如果您的字符串始终采用input1:Student_Name, input2:Student_Age
格式,则可以使用Dictionary<k,v>
和Split()
函数,例如
string userInputColRela = "input1:Student_Name, input2:Student_Age";
string input = "input1";
var args = userInputColRela.Split(',');
Dictionary<string, string> inputs = new Dictionary<string, string>();
foreach (var item in args)
{
var data = item.Split(':');
inputs.Add(data[0], data[1]);
}
Console.WriteLine(inputs[input]);