C# 读取txt文件并计算所选单词出现的次数
我需要创建一个应用程序,在C# 读取txt文件并计算所选单词出现的次数,c#,arrays,listbox,C#,Arrays,Listbox,我需要创建一个应用程序,在列表框控件中显示Teams.txt文件(包含所有MLB团队的文本文件)的内容。当用户在列表框中选择一个团队时,应用程序应显示多少次 他们赢得了世界大赛。我还有另一个文本文件(WorldSeriesWinners.txt),它按时间顺序记录了从1903年到2016年赢得世界大赛的每一支球队 我需要该程序逐步浏览WorldSeriesWinners文件,并将文件内容读取到列表或数组中。因此,当用户在列表框中选择一个团队时,算法应该在列表或数组中单步执行 计算所选团队出现的次
列表框
控件中显示Teams.txt文件(包含所有MLB团队的文本文件)的内容。当用户在列表框中选择一个团队时,应用程序应显示多少次
他们赢得了世界大赛。我还有另一个文本文件(WorldSeriesWinners.txt),它按时间顺序记录了从1903年到2016年赢得世界大赛的每一支球队
我需要该程序逐步浏览WorldSeriesWinners
文件,并将文件内容读取到列表或数组中。因此,当用户在列表框中选择一个团队时,算法应该在列表或数组中单步执行
计算所选团队出现的次数。然后将其显示到文本框中
我已经在列表框中打开了teams.txt
string MLBTeams;
StreamReader InputFile;
InputFile = File.OpenText("MLBTeams.txt");
while (!InputFile.EndOfStream)
{
MLBTeams = InputFile.ReadLine();
listBox1.Items.Add(MLBTeams);
}
我使用此代码来检测用户选择的内容
listBox1.SelectedItem.ToString();
现在是困难的部分。我需要让程序一步一步地浏览WorldSeriesWinners
文件,比较并计算它出现的次数,这正是我努力的地方。例如,如果在列表框
中选择了Chicago Cubs,并按下复选按钮,则应浏览WorldSeriesWinners
文件,查看“Chicago Cubs”总共显示三次,然后显示。
如果您需要我澄清任何其他问题,请发表评论。这是一个非常简单的示例,它根据提供的问题和示例代码做出某些假设
//these are string[] (string arrays)
var teams = File.ReadAllLines(teamsPath); // Assuming "TeamName" per line.
var winners = File.ReadAllLines(winnersPath);// Assuming "YYYY TeamName" per line
//add teams to list box
for(var i = 0; i < teams.Length; i++) {
listBox1.Items.Add(teams[i]);
}
无需单步浏览该文件。读入一个数组并进行迭代。给出一个原始的数据示例,将获奖者加载到一个集合中。当团队被选中时,对团队的集合进行linq计数。什么平台?winform、xaml……等等?
var team = listBox1.SelectedItem.ToString();
var count = 0;
for(var i = 0; i < winners.Length; i++) {
if(winners[i].Contains(team)) count++;
}
var team = listBox1.SelectedItem.ToString();
var count = winners.Count(winner => winner.Contains(team));