Jak mogę zadeklarować dwuwymiarową tablicę łańcuchów?
string[][] Tablero = new string[3][3];
Muszę mieć układ tablicy 3x3, aby zapisać informacje. Jak to zadeklarować w C#?
12 answers
string[,] Tablero = new string[3,3];
Możesz również utworzyć instancję w tej samej linii za pomocą składni inicjalizacji tablicy w następujący sposób:
string[,] Tablero = new string[3, 3] {{"a","b","c"},
{"d","e","f"},
{"g","h","i"} };
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-23 17:03:43
Pewnie tego chcesz:
string[,] Tablero = new string[3,3];
Spowoduje to utworzenie macierzy podobnej do macierzy, gdzie wszystkie wiersze mają tę samą długość.
Tablica w próbce jest tak zwaną postrzępioną tablicą , tj. tablicą tablic, w której elementy mogą być różnej wielkości. Postrzępiona tablica musiałaby być utworzona w inny sposób:
string[][] Tablero = new string[3][];
for (int i = 0; i < Tablero.GetLength(0); i++)
{
Tablero[i] = new string[3];
}
Można również użyć inicjalizatorów do wypełnienia elementów tablicy danymi:
string[,] Tablero = new string[,]
{
{"1.1","1.2", "1.3"},
{"2.1","2.2", "2.3"},
{"3.1", "3.2", "3.3"}
};
Oraz w przypadku tablicy postrzępionej:
string[][] Tablero = new string[][]
{
new string[] {"1.1","1.2", "1.3"},
new string[] {"2.1","2.2", "2.3"},
new string[] {"3.1", "3.2", "3.3"}
};
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-28 15:16:32
Właśnie zadeklarowałeś postrzępioną tablicę. Tego rodzaju tablice mogą mieć różne rozmiary dla wszystkich wymiarów. Na przykład:
string[][] jaggedStrings = {
new string[] {"x","y","z"},
new string[] {"x","y"},
new string[] {"x"}
};
W Twoim przypadku potrzebujesz regularnej tablicy. Zobacz odpowiedzi powyżej. więcej o postrzępionych tablicach
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-13 14:36:33
Zakładam, że tego szukasz:
string[,] Tablero = new string[3,3];
Składnia tablicy postrzępionej jest następująca:
string[][] Tablero = new string[3][];
for (int ix = 0; ix < 3; ++ix) {
Tablero[ix] = new string[3];
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-28 15:08:46
W C# istnieją 2 typy tablic wielowymiarowych, nazywane Multidimensional
i Jagged
.
Dla wielowymiarowości można przez:
string[,] multi = new string[3, 3];
Dla jagged array musisz napisać trochę więcej kodu:
string[][] jagged = new string[3][];
for (int i = 0; i < jagged.Length; i++)
{
jagged[i] = new string[3];
}
W skrócie postrzępiona tablica jest zarówno szybsza, jak i ma intuicyjną składnię. Aby uzyskać więcej informacji zobacz: to pytanie Stoskoverflow
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:41
Spróbuj tego:
string[,] myArray = new string[3,3];
Spójrz na http://msdn.microsoft.com/en-us/library/2yd9wwz4.aspx
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-28 15:14:17
string[,] Tablero = new string[3,3];
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-28 15:08:47
string[][]
jest nie dwuwymiarową tablicą, jest tablicą tablic (a jagged array). To coś innego.
Aby zadeklarować tablicę dwuwymiarową, użyj składni:
string[,] tablero = new string[3, 3];
Jeśli naprawdę chcesz jagged array, musisz ją zainicjować w następujący sposób:
string[][] tablero = new string[][] { new string[3],
new string[3],
new string[3] };
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-28 15:11:46
Kiedy próbujesz utworzyć wielowymiarową tablicę, wystarczy dodać przecinek do deklaracji w następujący sposób:
string[,] tablero = new string[3,3].
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-13 14:01:59
Tablica 3x3 (wielowymiarowa) może być również zainicjalizowana (już ją zadeklarowałeś) w następujący sposób:
string[,] Tablero = {
{ "a", "b", "c" },
{ "d", "e", "f" },
{ "g", "h", "i"}
};
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-13 13:51:28
Możesz również napisać poniższy kod.
Array lbl_array = Array.CreateInstance(typeof(string), i, j);
Gdzie " i "to liczba wierszy, a" j " to liczba kolumn. używając " typeof(..) 'metoda możesz wybrać typ tablicy tj. int, string, double
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-23 17:03:58
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-28 15:09:21