Parar arquivos CSV em C #, com cabeçalho

Existe uma maneira padrão / oficial / recomendada de analisar arquivos CSV em c #? Não quero rolar meu próprio analisador.

Além disso, já vi casos de pessoas que usam ODBC / OLE DB para ler CSV por meio do driver de texto, e muitas pessoas desencorajam isso devido a seus "inconvenientes". Quais são essas desvantagens?

Ideally, estou procurando uma maneira pela qual possa ler o CSV pelo nome da coluna, usando o primeiro registro como o cabeçalho / campo. Algumas das respostas dadas estão corretas, mas funcionam basicamente para desserializar o arquivo em classe

questionAnswers(16)

yourAnswerToTheQuestion