• 0

I am planning to create a window app for comparing text, web content, code similar to textcompare.io


Question

Hello Team,

I want to create a Windows app to compare text using C# for my college project. I would like to have a compare view similar to https://textcompare.io 

I have attached the image. Is there any library in C# that supports this kind of comparison? Or can I use any different development stack to develop the app in Windows that support compare component,

 

Thank you

 

 

stackoverflow-textcompare.png

7 answers to this question

Recommended Posts

  • 0

there are already several existing apps that can do this including Notepad++ and Visual Studio Code, is there are reason you're needing/wanting to create your own solution?

don't have to use an online reviewer.

  • Like 1
  • 0

The lions share of such an app would be in the comparison library, and that's the part you're wanting to find pre-written code for?

Sounds suspiciously like homework or an assignment, but even with the benefit of the doubt on that - what would your app bring to the table that existing, well developed and supported apps don't already have?

  • 0

The first google result for "C# text comparison library" yields this: https://github.com/mmanela/diffplex

This stack overflow post has some information that is a little old but could be a solution for you: https://stackoverflow.com/questions/138331/any-decent-text-diff-merge-engine-for-net

Lastly, if you want to write this yourself, check out Microsoft's documentation on the topic: https://learn.microsoft.com/en-us/dotnet/csharp/how-to/compare-strings

  • 0

Monaco Code Editor (the same one used in VSCode) can already do this out of the box with only a few lines of code.

 

GitHub - microsoft/monaco-editor: A browser based code editor

  • 0
On 13/12/2023 at 08:13, bond009 said:

Hello Team,

I want to create a Windows app to compare text using C# for my college project. I would like to have a compare view similar to https://textcompare.io 

I have attached the image. Is there any library in C# that supports this kind of comparison? Or can I use any different development stack to develop the app in Windows that support compare component,

 

Thank you

 

 

stackoverflow-textcompare.png

 

 

If this is for your college project (AKA Homework)... It would seem to me that the purpose is to write your own algorithm to parse, tokenize, compare the strings, then format the data for output.

This is easily done in both windows forms and asp.net web forms in C#, but you have to write the code yourself...

  • 0

I wanted to develop a tool where I could have more control over the data and apply the union concept. i.e., If I have two lists, I can compare them; I apply the union concept and find out which data is different in what and copy only that data from either of the inputs. 

@satukoro,

I am looking at your answer, and it will help me to start developing my own text comparison. 

@PmRd After checking your reply, I understood https://textcompare.io using the monaco editor; thank you.

If I get stuck, I will ask again.. thank you..

  • 0

For creating a Windows app to compare text similar to TextCompare.io, you have a few options in C#.

Libraries for Text Comparison in C#

DiffPlex:

DiffPlex is a popular open-source library for text comparison and visualization in C#.

It provides the ability to compute diffs and can be used to create side-by-side or inline comparisons.

GitHub Repository

StringSimilarity:

If you need algorithms to measure similarity between strings, libraries like StringSimilarity can help.

They focus on comparing strings with methods like Levenshtein Distance or Cosine Similarity.

Creating the Compare View

To replicate the interface shown in the image:

Use WinForms or WPF for developing the UI.

Pair the chosen framework with the DiffPlex library to process and display the differences.

You can create a split view with two RichTextBox components (WinForms) or TextBox controls (WPF) and highlight differences programmatically.

Alternative Development Stacks

Electron.NET:

If you prefer building a cross-platform app with web technologies, use Electron.NET.

It allows you to integrate JavaScript libraries. for text comparison.

Blazor Desktop:

For a modern approach, Blazor Desktop enables building Windows apps with web-like components, and you can embed comparison tools like diff-match-patch.

Python with Tkinter or PyQt:

If you’re open to using Python, GUI frameworks like Tkinter or PyQt have libraries like difflib for generating text differences.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.