Для меня это не похоже на проблему, которую можно решить с помощью петли. Существенная проблема заключается в том, что цикл может работать, только если вы выполните точно такую же операцию для элементов в цикле. Если ваша проблема не подходит, вы получите в цикле дюжину строк кода для обработки особых случаев, что можно было бы написать более коротким способом без цикла.
Если вам нужно задать только две или три строки (что должно быть в случае, если у вас есть именованные переменные), присвойте их по индексам строки разделения Альтернативой может быть использование регулярных выражений для сопоставления с некоторыми шаблонами, чтобы сделать его более устойчивым, если отсутствует одна из ожидаемых строк.
Другой возможностью было бы установить атрибуты для членов или свойства, такие как:
[MyParseAttribute(/*position*/ /*regex*/)]
string Greeting {get;set;}
И используйте отражение, чтобы заполнить их. Здесь вы можете создать цикл для всех свойств, имеющих этот атрибут, поскольку мне кажется, что вы хотите создать цикл: -)