Вы можете сохранить свой оригинальный код, а затем вписать имена:
string[] names= new [] {"john","joe", "jim" };
string data="john,4,3,6,joe,3,6,2,jim,3,6,7";
string[] results = data.Split(names, StringSplitOptions.RemoveEmptyEntries)
.Zip(names, (values, name) => name + values)
.ToArray();