Lista de LINQ a formato de oración (inserte comas y "y")

Tengo una consulta linq que hace algo simple como:

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

Entonces quiero una función o linq lambda, o algo que muestre los nombres en formato de oración usando comas y "ands".

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

a

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

Estoy bien con codificar elID + ":" + Name parte, pero podría ser un ToString () dependiendo del tipo de resultado de la consulta linq. Me pregunto si hay una forma ordenada de hacer esto con linq o String.Format ().

Respuestas a la pregunta(17)

Su respuesta a la pregunta