VisualBasic中的C#如何从并行数组中添加整数?

VisualBasic中的C#如何从并行数组中添加整数?,c#,arrays,visual-studio,C#,Arrays,Visual Studio,因此,我设置了数组,并在设计主窗口视图中将它们指定给一个值。它的设置就像一个测验,每个问题(如果陈述)都是一个具有不同分值的问题。我就是不知道如何在最后把每个问题的所有分数加起来 namespace ParallelArrRbnQuiz { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindo

因此,我设置了数组,并在设计主窗口视图中将它们指定给一个值。它的设置就像一个测验,每个问题(如果陈述)都是一个具有不同分值的问题。我就是不知道如何在最后把每个问题的所有分数加起来

namespace ParallelArrRbnQuiz
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        string[] arrUserAnswer = new string[10];
        int[] arrPoints = new int[10];
        string[] arrCorrectAnswer = new string[10];
        int intScore = 0;


        public MainWindow()
        {
            InitializeComponent();
            arrCorrectAnswer[0] = "Loop";
            arrCorrectAnswer[1] = "Conditional";
            arrCorrectAnswer[2] = "Variable";
            arrCorrectAnswer[3] = "Java";
            arrCorrectAnswer[4] = "Decision";
            arrCorrectAnswer[5] = "XAML";
            arrCorrectAnswer[6] = "Compiler";
            arrCorrectAnswer[7] = "Array";
            arrCorrectAnswer[8] = "Syntax Error";
            arrCorrectAnswer[9] = "Camel Casing";

            arrPoints[0] = 5;
            arrPoints[1] = 10;
            arrPoints[2] = 15;
            arrPoints[3] = 5;
            arrPoints[4] = 10;
            arrPoints[5] = 20;
            arrPoints[6] = 5;
            arrPoints[7] = 5;
            arrPoints[8] = 5;
            arrPoints[9] = 20;

            arrUserAnswer[0] = "Loop";
            arrUserAnswer[1] = "Conditional";
            arrUserAnswer[2] = "Variable";
            arrUserAnswer[3] = "Java";
            arrUserAnswer[4] = "Decision";
            arrUserAnswer[5] = "XAML";
            arrUserAnswer[6] = "Compiler";
            arrUserAnswer[7] = "Array";
            arrUserAnswer[8] = "Syntax Error";
            arrUserAnswer[9] = "Camel Casing";
        }
        private void Submit_Answers(object sender, RoutedEventArgs e)
        {
            if(arrCorrectAnswer[0] == arrUserAnswer[0])
            {
                intScore += arrPoints[0];
            }
            if(arrCorrectAnswer[1] == arrUserAnswer[1])
            {
                intScore += arrPoints[1];
            }
            if(arrCorrectAnswer[2] == arrUserAnswer[2])
            {
                intScore += arrPoints[2];
            }
            if(arrCorrectAnswer[3] == arrUserAnswer[3])
            {
                intScore += arrPoints[3];
            }
            if(arrCorrectAnswer[4] == arrUserAnswer[4])
            {
                intScore += arrPoints[4];
            }
            if(arrCorrectAnswer[5] == arrUserAnswer[5])
            {
                intScore += arrPoints[5];
            }
            if(arrCorrectAnswer[6] == arrUserAnswer[6])
            {
                intScore += arrPoints[6];
            }
            if(arrCorrectAnswer[7] == arrUserAnswer[7])
            {
                intScore += arrPoints[7];
            }
            if(arrCorrectAnswer[8] == arrUserAnswer[8])
            {
                intScore += arrPoints[8];

            if(arrCorrectAnswer[9] == arrUserAnswer[9])
            {
                intScore += arrPoints[9];
            }
                txtScore.Text = intScore.ToString();
            }
        }
    }
}
namespace parallelarrbnquiz
{
/// 
///MainWindow.xaml的交互逻辑
/// 
公共部分类主窗口:窗口
{
字符串[]arrUserAnswer=新字符串[10];
int[]arrPoints=新int[10];
字符串[]arrCorrectAnswer=新字符串[10];
积分=0;
公共主窗口()
{
初始化组件();
arrCorrectAnswer[0]=“循环”;
arrCorrectAnswer[1]=“有条件”;
arrCorrectAnswer[2]=“变量”;
arrCorrectAnswer[3]=“Java”;
回答[4]=“决定”;
arrCorrectAnswer[5]=“XAML”;
arrCorrectAnswer[6]=“编译器”;
arrCorrectAnswer[7]=“数组”;
arrCorrectAnswer[8]=“语法错误”;
arrCorrectAnswer[9]=“骆驼壳”;
arrPoints[0]=5;
arrPoints[1]=10;
arrPoints[2]=15;
arrPoints[3]=5;
arrPoints[4]=10;
arrPoints[5]=20;
arrPoints[6]=5;
arrPoints[7]=5;
arrPoints[8]=5;
arrPoints[9]=20;
arrUserAnswer[0]=“循环”;
arrUserAnswer[1]=“有条件”;
arrUserAnswer[2]=“变量”;
arrUserAnswer[3]=“Java”;
arrUserAnswer[4]=“决策”;
arrUserAnswer[5]=“XAML”;
arrUserAnswer[6]=“编译器”;
arrUserAnswer[7]=“数组”;
arrUserAnswer[8]=“语法错误”;
arrUserAnswer[9]=“骆驼壳”;
}
私有无效提交\u应答(对象发送者、路由目标)
{
if(arrCorrectAnswer[0]==arrUserAnswer[0])
{
intScore+=arrPoints[0];
}
if(arrCorrectAnswer[1]==arrUserAnswer[1])
{
intScore+=arrPoints[1];
}
if(arrCorrectAnswer[2]==arrUserAnswer[2])
{
intScore+=ARR分数[2];
}
if(arrCorrectAnswer[3]==arrUserAnswer[3])
{
intScore+=arrPoints[3];
}
if(arrCorrectAnswer[4]==arrUserAnswer[4])
{
intScore+=arrPoints[4];
}
if(arrCorrectAnswer[5]==arrUserAnswer[5])
{
intScore+=ARR分数[5];
}
if(arrCorrectAnswer[6]==arrUserAnswer[6])
{
intScore+=ARR分数[6];
}
if(arrCorrectAnswer[7]==arrUserAnswer[7])
{
intScore+=ARR分数[7];
}
if(arrCorrectAnswer[8]==arrUserAnswer[8])
{
intScore+=arrPoints[8];
if(arrCorrectAnswer[9]==arrUserAnswer[9])
{
intScore+=ARR分数[9];
}
txtScore.Text=intScore.ToString();
}
}
}
}

使用计数器遍历数组中的每个元素。您可以创建一个执行以下操作的方法:

var counter = 0;
while (counter <= arrPoints.Length(){
    counter += arrPoints[counter]
}
return counter;
var计数器=0;

而(counter这是我从您的代码中了解到的

for(int i=0;i<10;i++)
{
    if(arrCorrectAnswer[i] == arrUserAnswer[i])
    {
        arrPoints[i] += arrPoints[i];
    }
}
for(int i=0;i您可以使用Linq扩展方法获取数组的总数。
(注:框架3.5及更高版本)


这段代码有点让人困惑。你能澄清一下吗?如果你是根据正确的响应测试用户响应,这很好,但是为什么你要更改点数组中的点值呢?这没有意义;我想你应该循环,检查是否相等,如果相等,就添加点。嗨!很抱歉,我对编程不熟悉,而且我一直都很困惑习惯c#有些困难。但是我已经更新了我的代码,现在应该更有意义了。我希望这有助于澄清!它更有意义,谢谢。请参阅Shweta的答案,了解我将要做的事情。谢谢!所以我得到了代码,可以在设计视图的文本框中添加和显示,但当我计算分数时(总分),它总是加起来是25而不是100。你知道如何解决这个问题吗?谢谢!
int TotalPoints = 0;
for(int i=0;i<10;i++)
{
    TotalPoints += arrPoints[i];
}
int TotalPoints = 0;
for(int i=0;i<10;i++)
{
    if(arrCorrectAnswer[i] == arrUserAnswer[i])
    {
        TotalPoints += arrPoints[i];
    }
}
static void Main(string[] args)
{
    int[] arrPoints = new int[] { 5, 10, 15, 5, 10, 20, 5, 5, 5, 20 } ;
    int value = arrPoints.Sum();
    Console.WriteLine(value);
    Console.ReadLine();

}