Построчное считывание двух списков List<> по условию - C#

Узнай цену своей работы

Формулировка задачи:

Есть два списка List: List<string> listCellsB = new List<string>(); List<string> listCellsC = new List<string>(); В первом значения ячеек Excel строки:
цифра word цифра word цифра
Во втором списке:
кириллица кириллица кириллица латиница кириллица
Необходимо построчно считывать строки, например цифра-кириллица, word-кириллица по условию, т.е. в первом списке первая строка - “цифра” и сравниваем с первой строкой второго списка, и если цифра = кириллица, то выполняется условие count +=1, если например цифра = латиница, то условие не выполняется, и так построчно. Я уже пытался это реализовать через foreach и if, а также for и if, но этот вариант не подошел, так как если два цикла for и условие, то получается что при совпадении “цифра” в одном списке, цикл начинает проверку по всем условиям, что мне не походит. Пожалуйста, помогите с решением это задачи, а то уже и гуглил, и по спискам читал инфу, но так и не нашел как это сделать.

Решение задачи: «Построчное считывание двух списков List<> по условию»

textual
Листинг программы
  1. class Program
  2. {
  3.     static void Main(string[] args)
  4.     {
  5.         List<string> listCellsB = new List<string>() { "1", "word1", "2", "word2", "3", "word3" };
  6.         List<string> listCellsC = new List<string>() { "aaa", "bbb", "ccc", "ddd", "eee", "fff" };
  7.  
  8.         foreach (var pair in listCellsB.Zip(listCellsC))
  9.         {
  10.             Console.WriteLine(pair.Item1 + " " + pair.Item2);
  11.         }
  12.     }
  13. }
  14.  
  15. static class LinqExtensions
  16. {
  17.     public static IEnumerable<Tuple<T1, T2>> Zip<T1, T2>(this IEnumerable<T1> first, IEnumerable<T2> second)
  18.     {
  19.         var firstEnumerator = first.GetEnumerator();
  20.         var secondEnumerator = second.GetEnumerator();
  21.  
  22.         while (firstEnumerator.MoveNext())
  23.         {
  24.             secondEnumerator.MoveNext();
  25.             yield return new Tuple<T1, T2>(firstEnumerator.Current, secondEnumerator.Current);
  26.         }
  27.     }
  28. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут