我有一个格式为“Position = 10,IntraDay = 20,Client = 30”的字符串。我想将它插入字典中,例如,应该是字典的键值对。如何以一种简单的方式做到这一点。反之亦然。
答案 0 :(得分:2)
伪代码,因为您可以自己确定准确的步骤:
dict ←新字典
部分←在','
分割输入 部分 键,值←在'='
分割部分 将(密钥,值)添加到 dict
这是最琐碎的方式。它不一定有效,它可能会破坏,取决于你的数据,但由于我们在这里不知道任何其他东西,它可能也有效。您还可以使字典接受int
值并预先解析整数。
答案 1 :(得分: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] );
答案 2 :(得分: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]));
}
希望它有所帮助!
答案 3 :(得分: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;
}