コード例 #1
0
        private List<int> DiffMethod(ThreadSafeFileLineQueue queueA, ThreadSafeFileLineQueue queueB)
        {
            var diffIndexes = new List<int>();
            int lineIndex = 0;
            string lineA, lineB;

            while ((lineA = queueA.Dequeue()) != null & (lineB = queueB.Dequeue()) != null)
            {
                if (lineA != lineB)
                {
                    diffIndexes.Add(lineIndex);
                }
                lineIndex++;
            }

            while (lineA != null)
            {
                diffIndexes.Add(lineIndex++);
                lineA = queueA.Dequeue();
            }

            while (lineB != null)
            {
                diffIndexes.Add(lineIndex++);
                lineB = queueB.Dequeue();
            }

            return diffIndexes;
        }