You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将文本文件数据传入构造函数并生成对应对象数组

实现方案(C#)

核心思路

  • 先读取文本文件所有行,过滤空行避免报错
  • 对每行内容按逗号拆分,去除每个字段的前后空白字符
  • 把拆分后的字段分别转换为对应数据类型,传入Member构造函数生成实例
  • 所有实例汇总为数组后,既可以循环遍历所有数据,也可以通过索引直接调用指定行的实例

完整示例代码

using System;
using System.IO;
using System.Linq;

// 你给出的Member类定义
public class Member
{
    public string Name { get; set; }
    public int Number { get; set; }
    public decimal Rate { get; set; }
    public double Hours { get; set; }

    public Member(string name, int number, decimal rate, double hours)
    {
        Name = name;
        Number = number;
        Rate = rate;
        Hours = hours;
    }
}

class Program
{
    static void Main(string[] args)
    {
        // 替换为你的文本文件实际存储路径
        string filePath = @"C:\your\file\path\members.txt";
        
        // 生成Member对象数组
        Member[] members = File.ReadAllLines(filePath)
                               .Where(line => !string.IsNullOrWhiteSpace(line))
                               .Select(line => 
                               {
                                   string[] fields = line.Split(',').Select(f => f.Trim()).ToArray();
                                   return new Member(
                                       name: fields[0],
                                       number: int.Parse(fields[1]),
                                       rate: decimal.Parse(fields[2]),
                                       hours: double.Parse(fields[3])
                                   );
                               })
                               .ToArray();
        
        // 循环输出所有对象示例
        foreach (var member in members)
        {
            Console.WriteLine($"姓名:{member.Name},编号:{member.Number},薪资费率:{member.Rate:C},工作时长:{member.Hours}h");
        }
        
        // 单独调用指定行实例示例,索引从0开始,以下为调用第二行数据
        var secondMember = members[1];
        Console.WriteLine($"\n第二行成员姓名:{secondMember.Name}");
    }
}

注意事项

  • 如果文本存在格式不规范的行,可以增加try-catch块捕获转换异常,避免程序直接崩溃
  • 小数转换如果出现区域格式解析错误,可以给Parse方法传入CultureInfo.InvariantCulture参数,保证小数点识别正常

内容的提问来源于stack exchange,提问作者neoneclectica

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 12:54:03