所有,我想创建一个对象数组foo[]
,其中的构造函数Foo
是
public Foo(string name, string discription){}
我有一个数据库对象,它有一个结构(为简单起见,不包括存储过程、函数或视图),比如
public class Database
{
public string name { get; set; }
public string filename { get; set; }
public List<Table> tables { get; set; }
public Database(string name, string filename)
{
this.name = name;
this.filename = filename;
}
}
protected internal class Table
{
public string name { get; set; }
public List<Column> columns { get; set;}
public Table(string name, List<Column> columns)
{
this.name = name;
this.columns = columns;
}
}
protected internal class Column
{
public string name { get; set; }
public string type { get; set; }
public Column(string name, string type, int maxLength,
bool isNullable)
{
this.name = name;
this.type = type;
}
}
我想知道向对象数组添加信息Column
的最快方法?Table
Foo[]
显然我能做到
List<Foo> fooList = new List<Foo>();
foreach (Table t in database.tables)
{
fooList.Add(new Foo(t.Name, "Some Description"));
foreach (Column c in t.columns)
fooList.Add(new Foo(c.Name, "Some Description"));
}
Foo[] fooArr = fooList.ToArray<Foo>();
但是有更快的方法吗?显然,对于执行类似操作的查询,LINQ 可能会更慢,但我关心这里的速度,所以任何建议都会受到赞赏。也许使用 HashSet 将是要走的路,因为不会有重复的条目......
谢谢你的时间。