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

C#如何创建包含文件每一行内容的字符串数组?

问题解答

File.ReadLines(file).ToArray()的工作逻辑完全符合你的需求:它会读取文件里的每一行内容,把每一行单独作为一个字符串元素存入数组。比如你提供的文件内容,生成的数组会是:

  • wordlist[0] = "TEST"
  • wordlist[1] = "WORD"
  • wordlist[2] = "TEST2"

你的代码存在几个潜在问题,可能导致运行异常或不符合预期:

  • 未处理文件不存在的场景:如果File.Exists(file)返回false,wordlist会处于未初始化状态,直接进入for循环会触发空引用异常。
  • 字符串比对默认大小写敏感:如果用户输入"word"(小写),会匹配不到数组里的"WORD"。
  • 循环写法冗余,没必要手动遍历判断。

修正后的代码示例:

string file = @"C:\file"; // 注意路径格式,原代码的@"C:ile"是转义错误,正确写法是@"C:\file"
string wordInput = "WORD"; // 替换为实际用户输入
bool check = false;

if (File.Exists(file))
{
    string[] wordlist = File.ReadLines(file).ToArray();
    // 直接用Contains判断,简洁高效
    check = wordlist.Contains(wordInput);
    // 如果需要忽略大小写,改用以下写法
    // check = wordlist.Any(w => string.Equals(w, wordInput, StringComparison.OrdinalIgnoreCase));
}
else
{
    // 处理文件不存在的情况,比如提示用户
    Console.WriteLine("指定文件不存在");
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:38:12