「Position=10,IntraDay=20,Client=30」という形式の文字列があります。それを辞書に挿入したい、たとえば、辞書のキーと値のペアにする必要があります。簡単な方法でそれを行う方法.そしてその逆も.
質問する
512 次
4 に答える
2
疑似コード。正確な手順を自分で確実に把握できるためです。
dict ← new 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 に答える