Convertir una cadena de ints separados por comas en una matriz int

Solo encontré una forma de hacerlo en sentido contrario: crear una cadena separada por comas de una lista o matriz int, pero no sobre cómo convertir una entrada comostring str = "1,2,3,4,5"; a una matriz o lista de entradas.

Aquí está mi implementación (inspirada eneste post por Eric Lippert):

    public static IEnumerable<int> StringToIntList(string str)
    {
        if (String.IsNullOrEmpty(str))
        {
            yield break;
        }

        var chunks = str.Split(',').AsEnumerable();

        using (var rator = chunks.GetEnumerator())
        {
            while (rator.MoveNext())
            {
                int i = 0;

                if (Int32.TryParse(rator.Current, out i))
                {
                    yield return i;
                }
                else
                {
                    continue;
                }
            }
        }
    }

¿Crees que este es un buen enfoque o hay un método más fácil, tal vez incluso incorporado?

EDITAR: Lo siento por cualquier confusión, pero el método necesita manejar entradas no válidas como"1,2,,,3" o"###, 5," omitiéndolo, etc.

Respuestas a la pregunta(10)

Su respuesta a la pregunta