如何将其变成多维数组?

Ali*_*Ali 0 php c# arrays multidimensional-array

我刚刚开始学习C#,我是一名优秀的PHP开发人员而且我正在尝试为练习构建一个基本的二十一点应用程序,我迷失了因为PHP中的数组和C#中的数组是如此不同

我想知道如何将以下数组用PHP编写成C#

$array = array("first_array" => array(), "second_array" => array());
Run Code Online (Sandbox Code Playgroud)

我尝试了以下但它似乎并没有真正起作用

string[] array = ["first_array" => string[], "second_array" => string[]];
Run Code Online (Sandbox Code Playgroud)

如果有人能帮助我或指导我,我将不胜感激.

Eli*_*gem 6

要在C#中声明一个多维字符串数组,这是一个简单的问题:

string[,] array = new string[4,4];//size of each array here
Run Code Online (Sandbox Code Playgroud)

使用大括号初始化数组的方式与在C(++)中的方式相同:

string[,] array = new string[,] { {"index[0][0]", "index[0][1]"}, {"index[1][0]", "index[1][1]"} };
Run Code Online (Sandbox Code Playgroud)

C#中的数组基本tut在这里

但是你没有创建数组,你使用字符串作为键,这意味着你需要Dictionary:

Dictionary<string, string[]> dictionary = new Dictionary<string, string[]> {
    {"first_array", new string[4]},
    {"second_array", new string[4]}
};
Run Code Online (Sandbox Code Playgroud)

在a的情况下Dictionary,由于它的声明非常冗长,所以看到依赖于C#的隐式类型的代码消除一些事情是很常见的:

var dictionary = new Dictionary<string, string[]> {
    {"first_array", new string[4]},
    {"second_array", new string[4]}
};
Run Code Online (Sandbox Code Playgroud)

更多关于Dictionary这里

更新:

因为您希望能够在进行时将字符串附加到数组(即:您在创建数组时不知道数组的长度),所以您无法真正使用常规字符串数组.你将不得不使用字符串列表的字典:

var dictionary = new Dictionary<string, List<string>> {
    "first_list", new List<string>() { "first string", "second string" },
    "second_list", new List<string>() { "first string", "second string" }
};
Run Code Online (Sandbox Code Playgroud)

现在,将它们汇集在一起​​,以及如何向列表添加字符串以及向字典添加列表的一些示例:

//add string to list in dictionary:
dictionary["first_list"].Add("third string");
//suppose we have an array, how to add to the dictionary?
string[] some_array = new string[2] {"string1", "string2"};
//simply initialize list using array of strings
var temp_list = new List<string>(some_array);
//add new key to dictionary
dictionary.Add("new_list", temp_list);
Run Code Online (Sandbox Code Playgroud)

List<T>课堂上的文档

注:
阵列可以被调整,所以它可以使用的阵列,而不是一个名单,但在这种情况下,最好使用一个列表.列表旨在调整大小,阵列不是最佳工具