这是在C#中保存多维字符串数组的最优雅的方法

本文关键字:数组 方法 字符串 保存 | 更新日期: 2023-09-27 18:19:35

我正在寻找一种更好或最优雅的方法来保存多维字符串数组。这是一个场景:我不想用sql表中的语言保存列表,而是想把它保存在数组/arylist/对象中,这样我可以更快地访问它。它将包含:

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

这个列表可能包含许多其他内容。对不起,我还没有在Stack上找到任何解决方案。

这是在C#中保存多维字符串数组的最优雅的方法

您是否考虑过使用字典?

例如

Dictionary<string, string> english = new Dictionary<string, string>()
{
  {"en-US", "English"},
  {"ro-RO", "Romanian"},
  {"pt-PT", "Portuguese"}
}

您可以使用Dictionary类。这是一个的例子

Dictionary<String, String> lDict = new Dictionary<String, String>();
lDict.Add("en-US", "English");
...
lDict["en-US"]; // == "English"

如果您想在运行时加载它并将其保存在单独的文件中,我建议查看序列化

您没有详细说明您想要存储的列表的意图或用法。在这种情况下,这是一种查找表类型的数据,如果您想查找某些内容,可以查看Dictionary。有关Dictionary的详细信息,请参阅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"];

但是,如果这需要持久性,那么您还必须管理序列化和反序列化。