请教,多个文本转换成数组的问题

Mustang.wang 2014-04-20 08:21:49

public void button7_Click(object sender, EventArgs e)
{
FolderBrowserDialog browse = new FolderBrowserDialog();
if (browse.ShowDialog() == DialogResult.OK)
{
this.textBox4.Text = browse.SelectedPath;
string[] texts1 = Directory.GetFiles(browse.SelectedPath, "*.txt", SearchOption.TopDirectoryOnly);//文件夹里所有文本文件
foreach (string file in texts1)
{
string[]texts2 = File.ReadAllLines(file, Encoding.Default);
}


int []file_num = new int[dictionary.Keys.Count]; //含有该词组的文件数
int flag = 0;
foreach(string word in dictionary.Keys)
{
file_num[flag] = 0;
for (int j=0; j < texts1.Length; j++)
{
if (texts2[j].Contains(word))
{
file_num[flag]++;
}
}

如果用 []texts2=File.ReadAllLines 将会把所有文本文件都写入这个数组
我试的时候 textbox1.text=texts2[1]会提示索引超出了数组界限
该怎么做才能让 texts2[0]是第一个文本内容,texts2[1]是第二个文本内容...
来满足第二段里的 if (texts2[j].Contains(word))
{
file_num[flag]++;
}
谢谢大侠指点.........
...全文
116 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mustang.wang 2014-04-21
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
string[] texts1 = Directory.GetFiles(browse.SelectedPath, "*.txt", SearchOption.TopDirectoryOnly); string[] texts2 = texts1.Select(x => string.Join("\r\n", File.ReadAllLines(x, Encoding.Default))).ToArray();
谢谢 万分感谢~~~
threenewbee 2014-04-20
  • 打赏
  • 举报
回复
string[] texts1 = Directory.GetFiles(browse.SelectedPath, "*.txt", SearchOption.TopDirectoryOnly); string[] texts2 = texts1.Select(x => string.Join("\r\n", File.ReadAllLines(x, Encoding.Default))).ToArray();
bdmh 2014-04-20
  • 打赏
  • 举报
回复
ReadLine,逐个赋值给数组 元素,别readall那个就一个元素

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧