0

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

4

4 回答 4

2

伪代码,因为您肯定可以自己弄清楚确切的步骤:

dictnew 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 回答