Я пытаюсь получить Sum()
из List<>
в зависимости от string[]
массива.Я попробовал следующий метод:
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
}
Однако, если массив упорядочен по-другому, например:
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
//but should print total = 4 (because of the order of the array)
}
Как мне добиться результата, который динамически печатает любое значение?Таким образом, это будет зависеть от того, как массив был введен с помощью ErrorCode, а не от метода Score if statements
.Большое спасибо за помощь!