为了账号安全,请及时绑定邮箱和手机立即绑定

无法在循环中正确显示内容

无法在循环中正确显示内容

C#
慕桂英4014372 2022-10-15 14:39:45
我已经编写了 ac# 代码来检索所有文件名,方法是打印其中的一个信息。示例文件包含(file1.mht、file2.mht、file3.mht)。也许里面的包含是(aaaaaa,bbbbbb,cccccc)遵循文件的顺序。 输出示例: file1.mht aaaaaa file2.mht bbbbbb file3.mht cccccc但是我遇到的问题是它不能通过显示里面的内容来循环文件名。任何人都可以帮忙吗?当前的结果是它首先显示所有目录,并且只完成目录中第一个的工作。using HtmlAgilityPack;using System;using System.Collections.Generic;using System.Data;using System.IO;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Threading.Tasks;using System.Configuration;using System.Collections.Specialized;namespace ConsoleApp3{    class Program    {        static void Main(string[] args)        {            DirectoryInfo mht_file = new DirectoryInfo(@"C:\Users\liewm\Desktop\SampleTest\");            FileInfo[] Files = mht_file.GetFiles("*.mht");            string str = "";            string mht_text = "";            string directory = "";            string listInfo = "";            foreach (FileInfo file in Files)            {                str = file.Name;                directory = mht_file + str;                Console.WriteLine(directory);            }            foreach (char filePath in directory)            {               //Here is my work to retrieve the data in the file                Console.WriteLine("Names:" + str + "    " + "Component:" + component);                Console.ReadKey();            }        }    }}
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

从您的问题中,我了解到您想打印文件名,然后是相同的内容,如果是这样,您可以尝试:


DirectoryInfo mht_file = new DirectoryInfo(@"C:\Users\liewm\Desktop\SampleTest\");

FileInfo[] Files = mht_file.GetFiles("*.mht");


foreach (FileInfo file in Files)

{

    // read the content of the file

    var content = File.ReadAllText(file.FullName);


    // from your question "Example out output: file1.mht aaaaaa"

    Console.WriteLine($"{file.Name} {content}");

}


查看完整回答
反对 回复 2022-10-15
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

只完成了目录中最后一项的工作。


是的,那是因为您的目录变量是一个字符串string directory = "",它将被循环迭代的最后一个值覆盖。string[]如果您想处理所有这些,您宁愿存储在一个而不是。


foreach (FileInfo file in Files)

{

  str = file.Name;

  directory = mht_file + str;

  Console.WriteLine(directory);

}


查看完整回答
反对 回复 2022-10-15
?
MMTTMM

TA贡献1869条经验 获得超4个赞

请试试这个。


  foreach (FileInfo file in Files)

            {

                str = file.Name;

                directory += mht_file + str;

                Console.WriteLine(directory);

            }


查看完整回答
反对 回复 2022-10-15
  • 3 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号