处理字符串以将键/值插入字典

时间:2013-11-14 10:39:09

标签: c# string dictionary

我有一个格式为“Position = 10,IntraDay = 20,Client = 30”的字符串。我想将它插入字典中,例如,应该是字典的键值对。如何以一种简单的方式做到这一点。反之亦然。

4 个答案:

答案 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;
}