C# 如何从列表中获取Sum()<&燃气轮机;取决于字符串[]数组的顺序
我试图根据数组的C# 如何从列表中获取Sum()<&燃气轮机;取决于字符串[]数组的顺序,c#,arraylist,sum,console-application,C#,Arraylist,Sum,Console Application,我试图根据数组的字符串[]获取列表的Sum()。我尝试了以下方法: private static List<int> sum = new List<int>(); private static int total = 0; private static string[] ErrorCode = new string[] {"@", "-2", "!"}; private static void Score(string[] ErrorCode) { if
字符串[]
获取列表的Sum()
。我尝试了以下方法:
private static List<int> sum = new List<int>();
private static int total = 0;
private static string[] ErrorCode = new string[] {"@", "-2", "!"};
private static void Score(string[] ErrorCode)
{
if (ErrorCode.Contains("@"))
{
sum.Add(1);
}
if (ErrorCode.Contains("-2"))
{
sum.Add(-2);
}
if (ErrorCode.Contains("!"))
{
sum.Clear();
sum.Add(5);
}
total = sum.Sum();
//This prints total = 5
}
如何实现动态打印任一值的结果?因此,这将取决于数组是如何使用错误代码输入的,而不是评分方法if语句。
非常感谢你的帮助 不要使用Contains
当订单重要时,按顺序处理每个命令:
private static void Score(string[] ErrorCode) {
total = 0;
foreach (var ec in ErrorCode) {
switch (ec) {
case "@":
total += 1;
break;
case "-2":
total += -2;
break;
case "!":
total = 5;
break;
}
}
}
您还应该让Score
使用局部变量(sum
?),并在完成后返回结果。您应该将ErrorCode
命名为ErrorCode
,因为它包含多个代码,所以:
private static int Score(string[] errorCodes) {
var sum = 0;
foreach (var ec in errorCodes) {
switch (ec) {
case "@":
sum += 1;
break;
case "-2":
sum += -2;
break;
case "!":
sum = 5;
break;
}
}
return sum;
}
total = Score(ErrorCodes);
不要使用Contains
当订单重要时,按顺序处理每个命令:
private static void Score(string[] ErrorCode) {
total = 0;
foreach (var ec in ErrorCode) {
switch (ec) {
case "@":
total += 1;
break;
case "-2":
total += -2;
break;
case "!":
total = 5;
break;
}
}
}
您还应该让Score
使用局部变量(sum
?),并在完成后返回结果。您应该将ErrorCode
命名为ErrorCode
,因为它包含多个代码,所以:
private static int Score(string[] errorCodes) {
var sum = 0;
foreach (var ec in errorCodes) {
switch (ec) {
case "@":
sum += 1;
break;
case "-2":
sum += -2;
break;
case "!":
sum = 5;
break;
}
}
return sum;
}
total = Score(ErrorCodes);
为了让读者清楚,你能把输入、你得到的输出和你想要得到的输出放在一起吗。我知道你有这方面的信息,只需要读几遍就明白了it@MichaelRandall当然,我会编辑问题以显示第二种情况。为了让读者清楚,你能把输入、你得到的输出和你想要得到的输出放在一起吗。我知道你有这方面的信息,只需要读几遍就明白了it@MichaelRandall当然,我将编辑问题以显示第二个案例