Generando valores separados por comas

Supongamos que tengo una colección de cuerdas:

"foo"
"bar"
"xyz"

Y me gustaría generar valores separados por comas de la lista en algo como:

"foo, bar, xyz"

Note la falta de "," al final.

Soy consciente de que hay docenas de maneras de generar esto:

use for-loop y string.Format () o StringBuilder.use el contador de enteros y elimine el final "," si el valor> 0no ponga "," en la primera carreraetc.

Código de muestra de lo que tengo ahora:

if (strs.Count() > 0)
{
  var sb = new StringBuilder();
  foreach (var str in strs)
    sb.AppendFormat("{0}, ", str);
  return sb.Remove(0, 2).ToString();
}

¿Cuál es el mejor código que es altamente reutilizable para el escenario anterior y por qué?

Respuestas a la pregunta(7)

Su respuesta a la pregunta