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();
}