【问题标题】:How to dynamically create objects from a file?如何从文件动态创建对象?
【发布时间】:2013-04-20 14:43:09
【问题描述】:

我正在用这样的多行读取这样的文件。

“标题,名称,某事,某事,某事”

如何使用这些变量动态创建新对象

我已经在拆分它了 -

while (!reader.EndOfStream)
{
    lineFromFile = reader.ReadLine();

    split = lineFromFile.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

}

我的课程叫做模块。只是不知道如何动态执行,因为我不知道文件 ETC 中有多少模块。

【问题讨论】:

  • 听起来你需要一个对象数组并使用对象初始化器添加新实例。
  • 属性是否固定,换句话说,您只有 5 个属性吗?

标签: c# arrays class dynamic


【解决方案1】:

创建List<Module> 并添加从您的文件中读取的所有项目:

List<Module> modules = new List<Module>();
while (!reader.EndOfStream)
{
    lineFromFile = reader.ReadLine();

    split = lineFromFile.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

    var newModule = new Module();
    newModule.Property1 = split[0];
    newModule.Property2 = split[1];

    // (...) //

    modules.Add(newModule);

}

或者使用 LINQ:

var modules = (from line in File.ReadAllLines("fileName")
               let parts = line.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
               select new Module() {
                   Property1 = parts[0],
                   Property2 = parts[1],
                   Property3 = parts[2],
               }).ToList();

【讨论】:

    猜你喜欢
    • 2014-06-03
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 2011-03-25
    • 1970-01-01
    相关资源
    最近更新 更多