Какой самый элегантный способ сохранить массив многомерных строк в C #? - PullRequest
0 голосов
/ 04 января 2012

Я ищу лучший или самый элегантный способ сохранить массив многомерных строк. Это сценарий: Вместо того, чтобы сохранять список с языками в таблице SQL, я хочу сохранить его в массиве / ararylist / объект, чтобы я мог получить к нему доступ быстрее. Он будет содержать:

{
{"en-US", "English"},
{"ro-RO", "Romanian"},
{"pt-PT", "Portuguese"}
}

Этот список может содержать много других вещей. Пожалуйста, извините, но я еще не нашел решения по стеку.

Ответы [ 4 ]

4 голосов
/ 04 января 2012

Вы можете использовать класс Dictionary.вот пример

Dictionary<String, String> lDict = new Dictionary<String, String>();
lDict.Add("en-US", "English");
...
lDict["en-US"]; // == "English"
4 голосов
/ 04 января 2012

Рассматривали ли вы использование словаря ?

например

Dictionary<string, string> english = new Dictionary<string, string>()
{
  {"en-US", "English"},
  {"ro-RO", "Romanian"},
  {"pt-PT", "Portuguese"}
}
1 голос
/ 04 января 2012

Вы не указали свое намерение или использование списка, который вы хотите сохранить. В случае, если это данные в виде справочной таблицы, и вы хотите что-то найти, вы можете посмотреть в Словаре. Пожалуйста, обратитесь к этой статье MSDN для подробностей о словаре.

В вашем случае, учитывая, что у вас есть пара строк и вы хотите получить второй элемент в паре, используя первый элемент пары, вы можете создать словарь, подобный этому:

Dictionary<string, String> myDict = new Dictionary<string, String>();
//add the elements or members
myDict.Add("en-US", "English");
//TO DO: Add the rest of the items

//Get the second element for a member
string Lang = myDict["en-US"];

Но если это требует настойчивости, вам также придется управлять сериализацией и десериализацией.

1 голос
/ 04 января 2012

если вы хотите загрузить его во время выполнения и сохранить в отдельном файле, я предлагаю посмотреть сериализацию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...