2009-06-22 18 views
0

Ich bin verwirrt, um das multiple dimensionale Array zu verstehen. Ich habe drei Daten (strFname, strLname, strMname).Multidimensionales Array Beispiel in C# .net

Ich muss diese Daten in einem multidimensionalen Array.Es könnte n Anzahl der Zeilen sein. Aber für jede Zeile müssen diese drei Daten hinzugefügt werden.

Jede nützliche Referenz ist willkommen.

Antwort

8

Das ist ein string[,] sein könnte:

string[,] data = new string[4, 3] { 
     {"a","b","c"}, 
     {"d","e","f"}, 
     {"g","h","i"}, 
     {"j","k","l"} 
    }; 

aber ich würde Ihnen raten, einen Typ mit den erwarteten Eigenschaften erstellen, und haben eine List<T> dieser Art - viel einfacher zu verstehen:

class Person 
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public string MiddleName { get; set; } 
} 
... 
List<Person> people = new List<Person>(); 
people.Add(new Person {FirstName = "Fred", ... }); 
5

Ich glaube nicht, dass Sie ein mehrdimensionales Array hier verwenden sollten - ich denke, Sie sollten die drei Werte in einem Typ kapseln - so etwas (vorausgesetzt, ich habe die Namen richtig interpretiert):

public sealed class Name 
{ 
    private readonly string firstName; 
    private readonly string lastName; 
    private readonly string middleName; 

    // Consider changing the ordering here? 
    public Name(string firstName, string lastName, string middleName) 
    { 
     this.firstName = firstName; 
     this.lastName = lastName; 
     this.middleName = middleName; 
    } 

    public string FirstName 
    { 
     get { return firstName; } 
    } 

    public string LastName 
    { 
     get { return lastName; } 
    } 

    public string MiddleName 
    { 
     get { return middleName; } 
    } 
} 

Dann können Sie eine List<Name> oder eine Name[] verwenden, die beide den Zweck klar machen.

(Ja, das ist jetzt im Grunde die gleiche wie Marcs Antwort, außer mein Typ unveränderlich ist :)

+3

Wir müssen wirklich das Team wieder prod bekommen einige mehr knappe unveränderliche Syntax ... –