Ein String- Array anlegen in C# und ausgeben?
Unsere Aufgabe ist es, Vorname, Nachname und Hausnummer in einem Feld anzulegen. Das soll 2 mal passieren (mit for Schleife). Wie kann ich die Sachen einlesen und wieder Zusammengesetzt ausgeben? Wie würde es vereinfacht ausshen? Mfg Michi
2 Antworten
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();
}
}
}