1. Das allgemeine Attribut „Length“ gibt die Anzahl der Elemente zurück. LongLength wird verwendet, wenn die Anzahl der Elemente den Bereich des int-Typs überschreitet.
2. Die Array-Klasse ist eine abstrakte Klasse und kann den Konstruktor nicht zum Erstellen eines Arrays verwenden.
Aber es ist machbar
Klartext in Zwischenablage anzeigen und drucken?
Array iArray = new int[] { 1, 2, 3, 4 };
for (int i = 0; i < iArray.Length; i++)
{
Console.WriteLine(iArray.GetValue(i));
}
Array iArray = new int[] { 1, 2, 3, 4 };
for (int i = 0; i < iArray.Length; i++)
{
Console.WriteLine(iArray.GetValue(i));
}
Oder verwenden Sie die statische Methode CreateInstance. Insbesondere wenn der Array-Elementtyp nicht im Voraus bekannt ist, können Sie das Array wie folgt definieren
Die SetValue-Methode wird zum Festlegen und die GetValue-Methode zum Lesen verwendet.
Klartext in Zwischenablage anzeigen und drucken?
Array array = Array.CreateInstance(typeof(string), 3);
array.SetValue("Tom", 0);
array.SetValue("Jack", 1);
array.SetValue("Bill", 2);
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array.GetValue(i));
}
Array array = Array.CreateInstance(typeof(string), 3);
array.SetValue("Tom", 0);
array.SetValue("Jack", 1);
array.SetValue("Bill", 2);
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array.GetValue(i));
}
※Diese Methode kann auch zum Erstellen mehrdimensionaler Arrays verwendet werden
3. Um ein Array zu kopieren, verwenden Sie die Methode Clone().
Wenn die Array-Elemente vom Werttyp sind, werden alle Werte kopiert.
Wenn das Array-Element ein Referenztyp ist, kopieren Sie die Referenz
※ Wenn Sie eine tiefe Kopie eines Arrays benötigen, das einen Referenztyp enthält, müssen Sie das Array iterieren und ein neues Objekt erstellen
Um das Kopieren von Referenztypen zu veranschaulichen, sehen Sie sich die folgende Klasse an
Klartext in Zwischenablage anzeigen und drucken?
Person der öffentlichen Klasse
{
öffentlicher String FirstName { get;
öffentlicher String Nachname { set;
öffentliche Person(String FirstName, String LastName)
{
//Wenn der Parameter denselben Namen wie ein Mitglied der Klasse hat, verwenden Sie diesen, um auf das Klassenmitglied zu verweisen (persönlich wird empfohlen, ihn nicht auf diese Weise zu verwenden).
this.FirstName = FirstName;
this.LastName = Nachname;
}
//Schreibe die ToString-Klasse neu
öffentlicher Override-String ToString()
{
return string.Format("{0} {1}", FirstName, LastName);
}
}
Klassenprogramm
{
static void Main(string[] args)
{
Person[] personen1 = neue Person[2];
personen1[0] = neue Person("Tom", "lin");
personen1[1] = neue Person("Jack", "Rader");
Person[] personen2 = personen1.Clone() as Person[];
personen2[0].FirstName = "Kopie 2";
//Aufruf zum Kopieren des Quellarrays
Console.WriteLine(persons1[0].FirstName);
//Das Ergebnis ist Kopie 2, nicht Tom. Es ist ersichtlich, dass die Clone-Methode nur die Referenz kopiert.
Console.Read();
}
}
Person der öffentlichen Klasse
{
öffentlicher String FirstName { get;
öffentlicher String Nachname { set;
öffentliche Person(String FirstName, String LastName)
{
//Wenn der Parameter denselben Namen wie ein Mitglied der Klasse hat, verwenden Sie diesen, um auf das Klassenmitglied zu verweisen (persönlich wird empfohlen, ihn nicht auf diese Weise zu verwenden).
this.FirstName = FirstName;
this.LastName = Nachname;
}
//Schreibe die ToString-Klasse neu
öffentlicher Override-String ToString()
{
return string.Format("{0} {1}", FirstName, LastName);
}
}
Klassenprogramm
{
static void Main(string[] args)
{
Person[] personen1 = neue Person[2];
personen1[0] = neue Person("Tom", "lin");
personen1[1] = neue Person("Jack", "Rader");
Person[] personen2 = personen1.Clone() as Person[];
personen2[0].FirstName = "Kopie 2";
//Aufruf zum Kopieren des Quellarrays
Console.WriteLine(persons1[0].FirstName);
//Das Ergebnis ist Kopie 2, nicht Tom. Es ist ersichtlich, dass die Clone-Methode nur die Referenz kopiert.
Console.Read();
}
}
3. Die Array-Klasse implementiert auch die Blasensortierung von Elementen im Array, die Sort-Methode.
Bei einfachen Arrays können Sie direkt sortieren
Array.Sort(iArray); wobei iArray ein int-Array ist
-