Similaridade de strings C#

Olá! No meu banco de dados possuo nomes diferentes cadastrados para um mesmo cnpj por exemplo. No C# gostaria de saber se existe uma forma de percorrer essa lista e retornar por exemplo o valor até onde existe a igualdade. Não sei se fui claro, mas seria este exemplo:

Na minha lista possuo 3 itens, com mesmo nro de CNPJ, porém os nomes são quase iguais. CASA AMARELA LTDA CASA AMARELA CASA AMARELA & CIA LTDA

A ideia é que o retorno deste método me mostre apenas 1 item, onde o texto seja o mais similar entre os itens. Ou seja, o método deveria retornar "CASA AMARELA"

Existe alguma forma fácil de fazer isso?

How many English words
do you know?
Test your English vocabulary size, and measure
how many words do you know
Online Test
Powered by Examplum