c#.net中的多维数组示例

c#.net中的多维数组示例,c#,multidimensional-array,C#,Multidimensional Array,我对理解多维数组感到困惑。我有三个数据(strFname、strLname、strMname) 我需要将这些数据放入多维数组中。可能有n行。但对于每一行,我需要添加这三个数据 可以是字符串[,]: string[,] data = new string[4, 3] { {"a","b","c"}, {"d","e","f"}, {"g","h","i"}, {"j","k","l"} }; 但是,我建议您创建一个具

我对理解多维数组感到困惑。我有三个数据(strFname、strLname、strMname)


我需要将这些数据放入多维数组中。可能有n行。但对于每一行,我需要添加这三个数据

可以是
字符串[,]

    string[,] data = new string[4, 3] {
        {"a","b","c"},
        {"d","e","f"},
        {"g","h","i"},
        {"j","k","l"}
    };
但是,我建议您创建一个具有预期属性的类型,并具有该类型的
列表
——更容易理解:

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", ... });
班级人员
{
公共字符串名{get;set;}
公共字符串LastName{get;set;}
公共字符串MiddleName{get;set;}
}
...
列表人员=新列表();
添加(新人物{FirstName=“Fred”,…});

我认为您不应该在这里使用多维数组-我认为您应该将这三个值封装在一个类型中-类似这样(假设我正确解释了名称):

然后您可以使用
列表
名称[]
,这两种方法都可以明确目的

(是的,这与Marc的答案基本相同,只是我的类型是不可变的:)

检查此链接:
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; }
    }
}