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

C#中如何将File.ReadAllLines读取的文件内容转换为int数组

C# 读取文本文件后将字符串数组转为int数组实现方案

你可以通过逐行解析文本内容的方式完成类型转换,根据对文件内容的确定性程度,可选择两种实现方式:

方式1:文件内容全为合法整数(最简实现)

如果你确认input.txt中每一行都是纯整数、不存在空行、非数字字符的情况,可以直接用int.Parse配合LINQ完成转换:

  • 首先在代码文件顶部引入LINQ命名空间:
using System.Linq;
  • 修改原有的文件读取逻辑,直接生成int数组,完整代码如下:
static void Main(string[] args)
{
    // 读取所有文本行后逐行转为整数,最终生成int类型数组
    int[] lines = System.IO.File.ReadAllLines(@"input.txt")
                                .Select(line => int.Parse(line.Trim()))
                                .ToArray();

    System.Console.WriteLine("Contents of input.txt = ");
    foreach (int num in lines)
    {
        Console.WriteLine("\t" + num);
    }   

    Console.WriteLine("Press any key to exit.");
    Console.ReadKey();
}

代码里的.Trim()用于自动清除每行首尾可能存在的空格、制表符、换行符,避免因多余空白字符导致解析报错。

方式2:兼容非法内容(鲁棒性更强)

如果无法保证文件内容完全合规(比如存在空行、备注文本、非数字内容),建议用int.TryParse做校验过滤,跳过无效行,避免程序运行时抛出格式异常:

static void Main(string[] args)
{
    int[] lines = System.IO.File.ReadAllLines(@"input.txt")
                                // 先过滤掉空行、全空白字符行
                                .Where(line => !string.IsNullOrWhiteSpace(line))
                                .Select(line => {
                                    bool parseOk = int.TryParse(line.Trim(), out int num);
                                    return new { parseOk, num };
                                })
                                // 只保留解析成功的有效整数
                                .Where(item => item.parseOk)
                                .Select(item => item.num)
                                .ToArray();

    System.Console.WriteLine("Valid integer contents of input.txt = ");
    foreach (int num in lines)
    {
        Console.WriteLine("\t" + num);
    }   

    Console.WriteLine("Press any key to exit.");
    Console.ReadKey();
}

注意:如果使用旧版.NET Framework时提示找不到LINQ相关方法,请确认项目已引用System.Core程序集;新版.NET、.NET Core环境默认已集成该能力,无需额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 00:39:44