所以我必须放置并分割存储在字符串Content:
中的这些信息ID_PLAYER_1==>Joueur 1---Player 1
ID_AMMO==>Muni---Ammo
在一个看起来像这样的二维词典中:
Dictionary<Language, Dictionary<string, string>> items =
new Dictionary<Language, Dictionary<string, string>>();
枚举语言将根据单词的语言确定一个字符的位置。
所以最后它看起来像这样:
Player 1 Ammo
Joueur 1 Muni
我之前从未使用过二维字典而且我很困惑我应该如何分割它。我正在努力进行文本转换的方法,如下所示:
public ErrorCode Parse()
{
string Content = "@ID_PLAYER_1==>Joueur 1---Player 1
ID_AMMO==>Muni---Ammo"
//Content has the value: " ID_PLAYER_1==>Joueur 1---Player 1
//ID_AMMO==>Muni---Ammo"
items[0].Add (Content.Split(//splitting method), Content.Split())
return ErrorCode.MISSING_FIELD;
}
枚举语言:
public enum Language
{
French,
English
}
错误码:
public enum ErrorCode
{
OK,
BAD_FILE_FORMAT,
MISSING_FIELD,
}
答案 0 :(得分:1)
您可以使用以字符串作为分隔符的String.Split()
方法。
首先,您可以从内容中分割ID。然后用法语/英语分割内容。
将所有值放在您想要的位置,例如:
var items = new Dictionary<Language, Dictionary<string, string>>();
items.Add(Language.English, new Dictionary<string, string>() );
items.Add(Language.French, new Dictionary<string, string>() );
var input = "ID_PLAYER_1==>Joueur 1---Player 1";
// parts[0] = ID ; parts[1] = Content
var parts = input.Split(new string[] { "==>" }, StringSplitOptions.None);
// values[0] = french ; values[1] = english
var values = parts[1].Split(new string[] { "---" }, StringSplitOptions.None);
var key = parts[0]; // ID
var french = values[0];
var english = values[1];
// put them in the Dictionary
items[Language.English].Add(key, english);
items[Language.French].Add(key, french);