Построчное считывание двух списков List<> по условию - C#
Формулировка задачи:
Есть два списка List:
List<string> listCellsB = new List<string>();
List<string> listCellsC = new List<string>();
В первом значения ячеек Excel строки:
Во втором списке:
Необходимо построчно считывать строки, например цифра-кириллица, word-кириллица по условию, т.е. в первом списке первая строка - “цифра” и сравниваем с первой строкой второго списка, и если цифра = кириллица, то выполняется условие count +=1, если например цифра = латиница, то условие не выполняется, и так построчно.
Я уже пытался это реализовать через foreach и if, а также for и if, но этот вариант не подошел, так как если два цикла for и условие, то получается что при совпадении “цифра” в одном списке, цикл начинает проверку по всем условиям, что мне не походит.
Пожалуйста, помогите с решением это задачи, а то уже и гуглил, и по спискам читал инфу, но так и не нашел как это сделать.
цифра
word
цифра
word
цифра
кириллица
кириллица
кириллица
латиница
кириллица
Решение задачи: «Построчное считывание двух списков List<> по условию»
textual
Листинг программы
class Program { static void Main(string[] args) { List<string> listCellsB = new List<string>() { "1", "word1", "2", "word2", "3", "word3" }; List<string> listCellsC = new List<string>() { "aaa", "bbb", "ccc", "ddd", "eee", "fff" }; foreach (var pair in listCellsB.Zip(listCellsC)) { Console.WriteLine(pair.Item1 + " " + pair.Item2); } } } static class LinqExtensions { public static IEnumerable<Tuple<T1, T2>> Zip<T1, T2>(this IEnumerable<T1> first, IEnumerable<T2> second) { var firstEnumerator = first.GetEnumerator(); var secondEnumerator = second.GetEnumerator(); while (firstEnumerator.MoveNext()) { secondEnumerator.MoveNext(); yield return new Tuple<T1, T2>(firstEnumerator.Current, secondEnumerator.Current); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д