Как разбить строку символов в 2D-словаре - PullRequest
0 голосов
/ 17 мая 2018

Так что я должен поместить и разбить эту информацию, которая хранится в строке Содержимое:

ID_PLAYER_1==>Joueur 1---Player 1
ID_AMMO==>Muni---Ammo

в 2-й словарь, который выглядит следующим образом:

Dictionary<Language, Dictionary<string, string>> items = 
    new Dictionary<Language, Dictionary<string, string>>();

Язык перечисления будет определять положение одного символа на основе языка слова.

Таким образом, в итоге это будет выглядеть так:

Player 1  Ammo
Joueur 1  Muni

Я никогда не использовал 2-словарь и раньше, и я запутался, как я должен разделить это так.метод, над которым я работаю для преобразования текста, выглядит следующим образом:

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,
}

1 Ответ

0 голосов
/ 17 мая 2018

Вы можете использовать String.Split() метод, который принимает строки в качестве разделителя.

Итак, сначала вы можете отделить идентификатор от содержимого.Затем разделите содержимое на французский / английский.

Со всеми значениями поместите их в нужное место, например:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...