【问题标题】:C# ASP.NET - hierarchical arrayC# ASP.NET - 分层数组
【发布时间】:2012-07-15 13:53:40
【问题描述】:

我正在尝试在 foreach 循环中将数据存储在如下数组中:

名字、姓氏、出生日期

因此,一旦循环完成,我应该得到{John,Smith,05/05/1980},{Mary,Smith,05/04/1980} etc... 这将使我能够访问存储在系统中的每个人的不同信息。

最好的方法是什么?我一直在研究使用像这里显示的那样的分层数组http://msdn.microsoft.com/en-us/library/ms486189(v=office.12).aspx,但我不确定这是否是最好的方法。

我对 c# 编程很陌生,所以任何建议都将不胜感激!

【问题讨论】:

  • 最好的方法是编写一个具有实际命名属性的类。比这里的数组好得多。

标签: c# asp.net arrays hierarchical


【解决方案1】:

最好的方法是创建一个类来存储信息。

public class Person
{
    public string FirstName {get; set;}
    public string LastName {get; set;}
    public DateTime DateOfBirth {get; set;}
}

然后创建一个 Person 对象列表。

List<Person> people = new List<Person>()
people.Add(new Person() { FirstName = "John", LastName = "Smith", DateOfBirth = new DateTime(1980, 5, 5) });

【讨论】:

  • @朱利叶斯。结构位于调用堆栈上。一个类在调用堆栈上有一个引用。这种方式表现更好。结构更适合值类型的集合(例如 System.Drawing.Point)。
  • 谢谢凯尔。但是,我在 .Add 上遇到错误(我以前在使用列表时使用过它)。我该怎么做才能在类中添加“添加”定义?
  • 确保文件顶部有一个using System.Collections.Generic; 条目。如果这不能解决问题,您能否粘贴您收到的确切错误消息?
【解决方案2】:

也许使用这样的结构:

保存个人信息的类:

public class Person
{
 public string FirstName {get;set;}
 public string LastName {get;set;}
 public DateTime DateOfBirth {get;set;}
}

人员名单:

List<Person> people = new List<Person>;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 2010-09-08
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多