Ein String- Array anlegen in C# und ausgeben?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ein String-Array ist hierfür zwar die denkbar dümmste Struktur, aber bitte. Wenn das die Übung ist:

Du brauchst pro Datensatz 3 Felder und 2 Datensätze, also brauchst Du schon mal 6 Einträge im String-Array. Wie das Befüllen in einer Schleife gehen soll, erschließt sich mir nicht - die Ausgabe geht aber. Du musst also von einer festen Struktur [Vorname, Nachname, Hausnummer] ausgehen:

string[] addresses = new string[6];
addresses[0] = "Hans";
addresses[1] = "Wurst";
addresses[2] = "15";
addresses[3] = "Max";
addresses[4] = "Mustermann";
addresses[5] = "1";

So. Jetzt willst Du das ausgeben. Die Anzahl Adressen ergibt sich als "Länge Array / 3":

for (int i = 0; i < addresses.Length / 3; i++)
{
  Console.WriteLine("{0} {1}, Hausnr: {2}", addresses[i * 3], addresses[i * 3 + 1], addresses[i * 3 + 2]);
}

Das ist es. Viel einfacher, flexibler und weniger fehleranfällig ist aber:

public class Address
{
  public string Vorname;
  public string Nachname;
  public int Hausnummer;
}

List<Address> addresses = new List<Address>();
addresses.Add(new Address() { Vorname = "Hans", Nachname = "Wurst", Hausnummer = 15 });
addresses.Add(new Address() { Vorname = "Max", Nachname = "Mustermann", Hausnummer = 1 });

foreach (Address a in addresses)
{
Console.WriteLine("{0} {1}, Hausnr: {2}", a.Vorname, a.Nachname, a.Hausnummer);
}


using System;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string[,] stringarray = new string[2,3];

for (int i = 0; i < 2; i++)
{
Console.WriteLine("Bitte Vorname eingeben: ");
stringarray[i,0] = Console.ReadLine();
Console.WriteLine("Bitte Nachname eingeben: ");
stringarray[i, 1] = Console.ReadLine();
Console.WriteLine("Bitte Hausnummer eingeben: ");
stringarray[i, 2] = Console.ReadLine();
}
for(int i = 0; i < 2; i++)
{
Console.WriteLine("Vorname: " + stringarray[0,0] + " Nachname: " + stringarray[0, 2] + " Hausnummer: " + stringarray[0, 2]);
}
Console.ReadKey();
}
}
}