String.SplitメソッドStringSplitOptions.RemoveEmptyEntriesを指定すると、分割によって空の要素(長さ0の部分)が生じた場合に、それを除外することができます。

StringSplitOptions.RemoveEmptyEntriesを指定して空となる要素を除外して文字列を分割する
using System;

class Sample {
  static void Main()
  {
    var s = "field1,,field3,field4,"; // カンマ区切りの文字列(空のカラムを含む)

    // 文字','を区切りとして分割し、空の要素を除外する
    Console.WriteLine($"[{nameof(StringSplitOptions.RemoveEmptyEntries)}]");

    var fields = s.Split(',', StringSplitOptions.RemoveEmptyEntries);

    Console.WriteLine($"Length = {fields.Length}");

    foreach (var field in fields) {
      Console.WriteLine("<{0}>", field);
    }
    Console.WriteLine();

    // 文字','を区切りとして分割する (空の要素はそのままにする)
    Console.WriteLine($"[{nameof(StringSplitOptions.None)}]");

    fields = s.Split(',', StringSplitOptions.None);

    Console.WriteLine($"Length = {fields.Length}");

    foreach (var field in fields) {
      Console.WriteLine("<{0}>", field);
    }
  }
}
実行結果
[RemoveEmptyEntries]
Length = 3
<field1>
<field3>
<field4>

[None]
Length = 5
<field1>
<>
<field3>
<field4>
<>