Here's how to do it:
list = list.SelectMany(x => new [] { string.Empty, x }).ToList();
But it is worth noting that this creates unnecessary arrays. If your list is large enough, this could be a problem. Instead, I would create a new list with capacity and populate it with a loop:
var newList = new List<string>(list.Count * 2); int j = 0; for(int i = 0; i < list.Count * 2; i++) newList.Add(i % 2 == 0 ? string.Empty : list[j++]);
This will prevent you from resizing the list each time you add or insert elements.
source share