.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Collections.Generic;
using System.Linq;

public class LaborService {
	public string Value;
	public int Order;
}
			
public class Program
{
	public static List<LaborService> Tranpose(List<LaborService> laborService)
    {
        int half = (int)Math.Ceiling((decimal)(laborService.Count)/2);
        for (int i = 0; i < laborService.Count; i++)
        {
            if (i < half)
                laborService[i].Order = 2 * i;
            else
                laborService[i].Order = (i - half) + 1;
        }
        return laborService.OrderBy(x => x.Order).ToList();
    }
		
	public static void Main()
	{
		List<LaborService> l = new List<LaborService>();
		foreach (var c in "ABCDEFHGIJ") {
			l.Add(new LaborService() { Value = c.ToString() });
		}
		var t = Tranpose(l);
		foreach (var i in t) {
			Console.Write(i.Value);
			Console.Write(", ");
		}
		Console.WriteLine();
		foreach (var i in l) {
			Console.Write(i.Value);
			Console.Write(", ");
		}
	}
}
;