как обратится к индексу элемента массива символа в list?

у меня есть list содержащий символы переведенные в двоичную систему, например '11001000' и тд. мне нужно перемножить 8 десятичных чисел с каждым 0 и 1 соответственно, потом это все сложить. не знаю как правильно сделать. Я пробовал разбивать каждую цифру на отдельные 1 и 0 и добавлять в массив, но тогда я не смогу в дальнейшем сложить результаты правильно.

        List<int> str = new List<int>{11001000,11010101};
        List<int> key = new List<int> { 62, 93, 186, 403, 417, 352, 315, 210}; 

и теперь нужно взять каждый элемент массива и перемножить посимвольно с другим массивом. то-есть 1*62 1*93 186*0 403*0 и т.д., потом сложить и записать в другой массив.


Ответы (1 шт):

Автор решения: Igor
int multiplyAndAdd(int factors, int[] arr) {
  int sum = 0;
  for (int i = arr.Length - 1; i >= 0 && factors > 0; i--) {
    int f = factors % 10;
    factors = factors / 10;
    sum = sum + arr[i] * f;
  }
  return sum;
}

// in a loop:
multiplyAndAdd(str[i], key);
→ Ссылка