Какой-либо достойный текстовый механизм разности/слияния для.NET? [закрытый]

1122 У этого много проблем. Прежде всего, color является переменной-членом, это не функция, поэтому вы должны удалить скобки. У этого также есть проблема дизайна. Что это значит, назначая один цвет всего объекта платы? И прежде чем все это, a [i] [j] имеет тип int, у него нет свойства, называемого color. Вы можете обойти это, сделав массив boardSpace типа bool и протестировав его значение.

Во-вторых, параметр метода printBoard не тот, о котором вы думаете. функция ожидает многомерного массива, который содержит board объектов. и это не то, что вы хотите. Это функция-член, поэтому она может напрямую обращаться к члену boardSpace. поэтому он не должен получать никаких параметров и печатать сам boardSpace следующим образом: if(boardSpace[i][j] == true) В-третьих, ваши циклы for имеют очень большую и распространенную ошибку. Подсчет в C ++ начинается с 0. Таким образом, вы оставляете первый индекс в каждом массиве. Вы должны ранжировать циклы от 0 до less than 8. [0, 8).
Если вы хотите считать от одного, вы должны определить свои массивы, чтобы иметь еще один элемент, 9 элементы в каждом массиве позволили бы вам считать от одного, но вы будете тратить одну ячейку в каждом массив не используется.
Как я уже сказал, нелогично иметь один color для всей доски, поэтому член color не нужен. но если вы находитесь в ситуации, когда нужно вернуть что-то подобное, например, цвет одной ячейки, вы можете использовать bool, чтобы просто вернуть true или false в зависимости от его цвета. Кроме того, функция getColor() ожидает параметр типа board. Это не правильно. Это опять-таки функция-член. он может получить доступ к объекту, в который я внёс некоторые изменения в ваш код, теперь он работает, я думаю, так, как вы этого хотите. https://ideone.com/dLRKPv

105
задан aku 26 September 2008 в 09:36
поделиться

2 ответа

Вы можете взять компонент COM, который использует Google Diff / Patch / Match . Работает с .NET.

Обновление, 17 октября 2010 г. : Код Google Diff / Patch / Merge перенесен на C #. Компонент COM по-прежнему работает, но если вы работаете с .NET, вам нужно напрямую использовать порт .NET.

83
ответ дан 24 November 2019 в 04:02
поделиться

Gitsharp включает в себя дифференциальный двигатель на основе Diff Meyers. Взгляните на демо, которое реализует простые WPF Vief Viewer на основе коллекции diff.sections: http://www.eqqon.com/index.php/gitsharp#gitsharp.demo

5
ответ дан 24 November 2019 в 04:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: