Lista LINQ para formato de sentença (insira vírgulas & "e")

Eu tenho uma consulta linq que faz algo simples como:

var k = people.Select(x=>new{x.ID, x.Name});

Eu quero então uma função ou linq lambda, ou algo que produza os nomes no formato de sentença usando vírgulas e "ands".

{1, John}
{2, Mark}
{3, George}

para

"1:John, 2:Mark and 3:George"

Eu estou bem com a codificação doID + ":" + Name parte, mas poderia ser um ToString (), dependendo do tipo de resultado da consulta linq. Eu só estou querendo saber se existe uma maneira elegante de fazer isso com linq ou String.Format ().

questionAnswers(17)

yourAnswerToTheQuestion