我有一个格式为“Position=10,IntraDay=20,Client=30”的字符串。我想将它插入字典,例如,应该是我的字典键值对。如何以简单的方式做到这一点。反之亦然。
问问题
512 次
4 回答
2
伪代码,因为您肯定可以自己弄清楚确切的步骤:
dict ← new Dictionary<string, string><br> parts ←在parts中的每个部分拆分输入:key , value ←在 添加(key , value)到dict时拆分部分
','
'='
那将是最琐碎的方法。它不一定有效,它可能会中断,具体取决于您的数据,但由于我们在这里不知道任何其他内容,它可能也可以工作。您还可以使字典接受int
值并事先解析整数。
于 2013-11-14T10:42:03.453 回答
1
这是@Joey 的伪代码的示例代码:
//Your string (note: I have removed ending comma of your sample string)
string mystring = "Position=10,IntraDay=20,Client=30";
//Your dictionary
Dictionary<string, string> mydic = mystring.Split(',')
.ToDictionary(s => s.Split('=')[0],
s => s.Split('=')[1] );
于 2013-11-14T10:47:21.217 回答
0
private Dictionary<String, Int32> ProcessInputString(string str) {
var Dictionary = new Dictionary<String, Int32>();
var Entries = str.Split(',', StringSplitOptions.RemoveEmptyEntries);
foreach(var Entry in Entries) {
var EntryData = Entry.Split('=', StringSplitOptions.RemoveEmptyEntries);
var Key = EntryData[0];
var Value = Convert.ToInt32(EntryData[1]);
if(!Dictionary.ContainsKey(Key))
Dicationary[Key] = Value;
}
return Dictionary;
}
于 2013-11-14T10:48:08.663 回答
0
去以下:
var dic = new Dictionary<string,int>();
var Pairs = "Position=10,IntraDay=20,Client=30,".Split(',', StringSplitOptions.RemoveEmptyEntries);
foreach (var pair in Pairs)
{
var p = pair.Split('=');
dic.Add(p[0],Convert.ToInt32(p[1]));
}
希望能帮助到你!
于 2013-11-14T10:43:33.067 回答