0

「Position=10,IntraDay=20,Client=30」という形式の文字列があります。それを辞書に挿入したい、たとえば、辞書のキーと値のペアにする必要があります。簡単な方法でそれを行う方法.そしてその逆も.

4

4 に答える 4

2

疑似コード。正確な手順を自分で確実に把握できるためです。

dictnew Dictionary〈string, string〉<br> parts入力part','
ごと 分割: key , value部分を分割dictに ( key , value ) を     追加
    '='

それが一番カンタンな方法でしょう。必ずしも効率的であるとは限りません。データによっては壊れる可能性がありますが、ここでは他に何も知らないので、うまくいくかもしれません. 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 に答える