如何实例化可变数量的对象? (C#)

时间:2015-03-26 12:31:01

标签: c# class object

我正在制作一个需要从文件中读取输入的程序(使用File.ReadAllLines()),我想为每个行创建一个对象。我遇到的问题是(文件中的行数)经常会发生变化,所以编译器不知道我需要实例化的对象数。

例如:

string str[] = File.ReadAllLines();
int n = str.Length;

此时我想实例化一个类的 n 对象,我该怎么做?

2 个答案:

答案 0 :(得分:4)

假设你的类有一个构造函数来从字符串创建自己:

var myObjects = str.Select(x => new MyClass(x));

请注意,在您需要这些对象之前,这不会枚举。如果你想强制枚举,你可以这样做:

var myObjects = str.Select(x => new MyClass(x)).ToList();

示例构造函数:

public MyClass(string line)
{
    //parse the line and set variables of MyClass
}

答案 1 :(得分:0)

像@DLeh所说或者你不需要字符串作为参数

string str[] = File.ReadAllLines();
int n = str.Length;

var items = Enumerable.Range(0, n).Select(x => new MyClass()).ToList();