Falsche Anzahl von Indizes in der []; expected '1'
Habe ich Folgendes array:
string[] list1 = new string[2] { "01233", "THisis text" };
string[] list2 = new string[2] { "01233", "THisis text" };
string[] list3 = new string[2] { "01233", "THisis text" };
string[] list4 = new string[2] { "01233", "THisis text" };
string[][] lists = new string[][] { list1, list2, list3, list4 };
Ich versuche zu sehen, die array-Werte mit dem folgenden code:
for (int i = 0; i < lists.GetLength(0); i++)
{
for (int j = 0; j < lists.GetLength(1); j++)
{
string s = lists[i, j]; //the problem is here
Console.WriteLine(s);
}
}
Console.ReadLine();
Das problem ist lists[i, j];
betont und verursacht diese Fehlermeldung : Wrong number of indices inside []; expected '1'
Könnten Sie mir bitte sagen, wie dieses problem zu lösen ?
- Anmerkung: verwenden Sie ein
std::vector
oder einestd::list
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
lists
ist nicht ein 2D-array. Es ist ein array von arrays. Daher ist die syntaxlists[i][j]
.Hinweis, wie
Length
überprüft, die ein array von arrays. Allerdings, wie schon andere gesagt haben, warum nicht verwendenforeach
? Du brauchst zwei verschachtelteforeach
Schleifen für ein array von arrays.Eine weitere option ist eigentlich ein 2D-array, ein
string[,]
. Erklärt wie:Dann können Sie zwei
for
Schleifen, wie Sie, mitlists[i,j]
syntax, oder eine Einzelzimmerforeach
.Da haben Sie die Liste der Listen-und nicht 2D-array. Bekommen element aus Ihrer datastructure Sie haben, um es so zu benutzen:
Ihre vollständige code wäre:
Aber eigentlich in deinem Fall ist es besser
foreach
:Versuchen, diese
Foreach verwenden statt