DGKumar Ответов: 3

Как дифференцировать 2 набора результатов и обеспечить любой цвет в C#?


У меня есть 2 строки, как показано ниже

1.
name=name1 address=address1

2.
name=name2 address=address1


как дефферентировать и предоставить цвет для name1 и name2, которые найдены как разные или обновленные .

Что я уже пробовал:

Я пробовал с приведенным ниже кодом работать нормально, но получать повторяющиеся значения в label2

string[] a1 = { "name=name1", "address=address1", "mobilenumber=mobilenumber1", "area=area1" };

           string[] a2 = { "name=name1", "address=address12", "mobilenumber=mobilenumber1", "area=area1" };
           StringBuilder txtAppend = new StringBuilder();
           StringBuilder txtAppend2 = new StringBuilder();

           foreach (string str in a1)
           {
               txtAppend.Append(str +"<br />");
               Label1.Text = txtAppend.ToString();
           }
           foreach (string str in a2)
           {

               txtAppend2.Append(str + "<br />");
               if (!a1.Contains(str))
               {

                   txtAppend2.Append("<span style='color:red;'>" + str + "</span><br />");

               }

               Label2.Text = txtAppend2.ToString();
           }


Как показано ниже
name=name1                   name=name1
address=address1             address=address12  **** repeated elemnt with black color
mobilenumber=mobilenumber1   address=address12  **** this is red 
area=area1                   mobilenumber=mobilenumber1
                             area=area1


не могли бы вы, пожалуйста, помочь мне, как избежать повторения elemnts

3 Ответов

Рейтинг:
25

Richard Deeming

GitHub-mmanela/diffplex: DiffPlex-это библиотека Netstandard 1.0 C# для генерации текстовых различий.[^]

То, как вы будете отображать различия, будет зависеть от того, какой фреймворк пользовательского интерфейса вы используете. Репозиторий включает в себя образец для ASP.NET что должно помочь вам начать.


Рейтинг:
2

DGKumar

Хорошо спасибо я получил идеальный результат


Рейтинг:
18

Henrik Jonsson

Если строки всегда форматируются как примеры, вы можете, например, разделить текст с помощью String.Split а затем сравните каждую часть строки попарно. Если они отличаются, вы визуализируете их в цвете.

Если вы пишете консольное приложение Windows, вы можете установить цвет с помощью Console.ForegroundColor


DGKumar

Привет
Мне нужно предоставить цвета в jquery, данные которых не соответствуют друг другу, но эти 2 строки должны отображаться в 2 divs в пользовательском интерфейсе, просто нужно предоставить цвет, который обновляется для идентификации.

DGKumar

я пробовал С ниже код
строка[] А1 = { "имя=имя1", "адрес=адрес1", "mobilenumber=mobilenumber1", "площадь=зону1" };

строка[] a2 = {"name=name1", "address=address12", "mobilenumber=mobilenumber1", " area=area1" };
StringBuilder txtAppend = новый StringBuilder();
StringBuilder txtAppend2 = новый StringBuilder();

foreach (string str in a1)
{
txtAppend.Добавить(str +"");
Этикетка 1.Text = txtAppend.Метод toString();
}
foreach (string str in a2)
{

txtAppend2.Добавить(стр + "");
если (! a1. Contains(str))
{

txtAppend2.Добавить(""+ str + "");

}

Метка2.Текст = txtAppend2.Метод toString();
}

но я получаю повторяющиеся значения в lable2