2016-12-06 28 views
-4

好吧,所以我正在努力创建一个“简单”程序,它需要一个答案文件。我曾尝试在代码中添加一个密钥,然后使用StreamReader将该密钥与上传的文件进行比较。我收到的第一个错误是#CS0622。它似乎没有认识到价值。C#程序。将数组转换为字符串有问题

我想要做的是将上传的文件与答案关键字进行比较,如果“人员”正确回答了足够的问题,让它显示“通过”,如果不是“失败”。同时显示正确答案的数量,不正确的数量,以及个人错误的数量。

因此,让我们将它应用到我已经写好的代码中,并且我将非常感谢有关如何修正和修正此代码的帮助。如果我需要回答任何事情有任何问题,我可能上错过了,随便问:

public Form1() 
    { 
     InitializeComponent(); 
     string testkey = { 'B', 'D', 'A', 'A', 'C', 'A', 'B', 'B', 'C', 'D', 'B', 'C', 'D', 'A', 'D', 'C', 'C', 'B', 'D', 'A' }; 

     const int Size = 20; 
     string[] answers = new string[Size]; 

     Int index = 0; 

     StreamReader inputFile; 
     inputFile = File.OpenText("Response.txt"); 

     while (index < numbers.Length && !inputFile.EndOfStream) 
     { 
      numbers[index] = inputFile.ReadLine(); 
      index++; 
     } 
     inputFile.Close();     
    } 

    void gradeButton_Click(object sender, EventArgs e) 
    { 
     //Clicking will grade Response.txt file in bin against testkey 

    } 

    class Int 
    { 
     public static implicit operator Int(int v) 
     { 
      throw new NotImplementedException(); 
     } 
    } 
} 
+1

请从帖子中删除不相关的代码,并说出你正面临的实际问题 –

+0

这就是问题,我被困在'string testkey = {'B','D','A',' A',C,A,B,B,C,D,B,C,D,A,D,C, ,'C','B','D','A'}; 我不知道如何解决这个问题,然后在那之后如何让通过/失败评论显示在标签 ' – gwatson117

+0

啊啊是的,错误0622在这个代码的某处。 – Plutonix

回答

0

您的问题是“字符串密押= {‘B’,‘d’,......”语法错误。 一个字符串是一个包含(内部)一个字符数组的单个不可变对象。 似乎试图创建一个字符数组,但试图创建一个字符串。

string testkey =“abcde”;是有效的 char [] testkey = {'a','b','c'}是有效的。

你在做什么是混合两个(无效!)。

祝你好运!

+0

这非常有帮助,我将其更改为char []并且工作。 我不知道如何编写gradeButton_Click的代码来显示我想要的通过/失败功能,您能否帮我解决这个问题? – gwatson117

+0

嗨, 最难的是得到了正确的声明。我想你会把其余的工作,并享受解决它启动。 但是绝对要摆脱你的'Int'类 - .Net拥有你在这个级别所需要的所有类。 – Monza

1

String已经是char阵列,但是,这并不意味着你可以随意插入charstring变量(我没有说你不能)。
您可以通过String testkey = "ABC...";声明字符串,并使用索引对每个元素进行访问,即:testkey[0]为“A”。