C# C数据比较
我的任务是从两个文本文件中读取数据,将数据存储在两个单独的数组中,读取匹配的行数,不匹配的行数,并显示不匹配的特定行数。我知道for循环会更好,但我不记得该怎么做。我不知道从这里到哪里去,如果有人知道任何可以帮助的事情,我将不胜感激C# C数据比较,c#,arrays,C#,Arrays,我的任务是从两个文本文件中读取数据,将数据存储在两个单独的数组中,读取匹配的行数,不匹配的行数,并显示不匹配的特定行数。我知道for循环会更好,但我不记得该怎么做。我不知道从这里到哪里去,如果有人知道任何可以帮助的事情,我将不胜感激 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Li
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Final_Project
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
public void grade_Click(object sender, EventArgs e)
{
string[] A = new string[20];
string[] B = new string[20];
StreamReader ifile;
StreamReader ifile2;
ifile = File.OpenText("answerkey.txt");
ifile2 = File.OpenText("response.txt");
int correct = 0;
int incorrect = 0;
string str = "";
string str2 = "";
while (ifile.EndOfStream == false & ifile2.EndOfStream == false)
{
str = ifile.ReadLine();
str2 = ifile2.ReadLine();
}
A[correct] = str;
B[incorrect] = str2;
if (A[0] == B[0])
{
correct++;
}
else
{
incorrect++;
}
if (A[1] == B[1])
{
correct++;
}
else
{
incorrect++;
}
if (A[2] == B[2])
{
correct++;
}
else
{
incorrect++;
}
if (A[3] == B[3])
{
correct++;
}
else
{
incorrect++;
}
if (A[4] == B[4])
{
correct++;
}
else
{
incorrect++;
}
if (A[5] == B[5])
{
correct++;
}
else
{
incorrect++;
}
if (A[6] == B[6])
{
correct++;
}
else
{
incorrect++;
}
if (A[7] == B[7])
{
correct++;
}
else
{
incorrect++;
}
if (A[8] == B[8])
{
correct++;
}
else
{
incorrect++;
}
if (A[9] == B[9])
{
correct++;
}
else
{
incorrect++;
}
if (A[10] == B[10])
{
correct++;
}
else
{
incorrect++;
}
if (A[11] == B[11])
{
correct++;
}
else
{
incorrect++;
}
if (A[12] == B[12])
{
correct++;
}
else
{
incorrect++;
}
if (A[13] == B[13])
{
correct++;
}
else
{
incorrect++;
}
if (A[14] == B[14])
{
correct++;
}
else
{
incorrect++;
}
if (A[15] == B[15])
{
correct++;
}
else
{
incorrect++;
}
if (A[16] == B[16])
{
correct++;
}
else
{
incorrect++;
}
if (A[17] == B[17])
{
correct++;
}
else
{
incorrect++;
}
if (A[18] == B[18])
{
correct++;
}
else
{
incorrect++;
}
if (A[19] == B[19])
{
correct++;
}
else
{
incorrect++;
}
if (correct >= 14)
{
passfail.Text = "Passed";
}
else
{
passfail.Text = "Failed";
}
string[] result = File.ReadAllLines("answerkey.txt");
correctbox.Text = correct.ToString();
incorrectbox.Text = incorrect.ToString();
}
}
}
这里有几个要点:
用于读取文件。
编写一个for循环,循环遍历应答文件行,比较a[i]和B[i],并更新correct和correct。
考虑一种情况,响应文件的行数少于应答文件的行数。
在while循环中,每次迭代都会覆盖str和str2,而不是将读取的数据存储在数组A和B中。这两个字符串集合之间是否存在关系。例如,如果每个集合有10个元素,您将进行10次比较,还是询问如何编写For循环?到目前为止你做了什么研究?如果你做一些搜索,我希望这样的信息很容易找到。