Конечно, написать достаточно просто, но в C # 2010 есть встроенный метод Join (или аналогичный), который добавляет разделитель, только если предыдущий и следующий элементы не равны NULL и не пусты.?
Другими словами, SmartJoin(", ","Hood","Robin")
выдаст "Робин Гуда", но SmartJoin(", ", "Robin Hood", string.Empty)
выдаст просто "Робин Гуда".