Is there a way to compare text in .NET and have it tell you what the differences are? I.e. The difference between "abc123efg" and "abc456efg" is the "123" and "456" starting at index 3 and ending at index 5, etc.

I know I can write the code to do this, but if something already exists in the .NET Framework then I'd like to use that. Alternatively if there is an open source library that does that, then that would be a good option too.