List<string>.SortやArray.Sortの場合も同様に、GetStringComparer拡張メソッドで取得したStringComparerをSortメソッドに渡すことにより、CompareOptionsを使用したソートを行うことができます。

例として、CompareOptions.IgnoreKanaType/IgnoreWidthを使って、ひらがなとカタカナの違い/全角と半角の違いを無視してソートするには次のようにします。

.NET Framework 4.7以前の場合は、Comparison<string>デリゲートに適合するメソッドあるいはラムダ式を記述することで、CompareOptionsを使用したソートを行うことができます。

CompareOptionsを使用してひらがなカタカナの違いを無視してListをソートする .NET Framework 4.7
using System;
using System.Collections.Generic;
using System.Globalization;

class Sample {
  static void Main()
  {
    var wordList = new List<string>() {"ア", "あイ", "あい", "い", "あ", "アい", "イ"};

    Console.WriteLine("before sort                    : {0}", String.Join(", ", wordList));

    // CultureInfo.InvariantCultureをベースに、CompareOptions.IgnoreKanaTypeを指定して
    // ひらがな・カタカナの違いを無視してソートする
    wordList.Sort(CultureInfo.InvariantCulture.CompareInfo.GetStringComparer(CompareOptions.IgnoreKanaType));
    // .NET Framework 4.7以前の場合は、String.Comparerメソッドを使用してソート順を定義する必要がある
    //wordList.Sort((x, y) => String.Compare(x, y, CultureInfo.InvariantCulture, CompareOptions.IgnoreKanaType));

    Console.WriteLine("CompareOptions.IgnoreKanaType  : {0}", String.Join(", ", wordList));

    wordList.Sort(StringComparer.InvariantCulture);

    Console.WriteLine("StringComparer.InvariantCulture: {0}", String.Join(", ", wordList));

    wordList.Sort(StringComparer.Ordinal);

    Console.WriteLine("StringComparer.Ordinal         : {0}", String.Join(", ", wordList));
  }
}
実行結果
before sort                    : ア, あイ, あい, い, あ, アい, イ
CompareOptions.IgnoreKanaType  : ア, あ, あイ, あい, アい, い, イ
StringComparer.InvariantCulture: あ, ア, あい, あイ, アい, い, イ
StringComparer.Ordinal         : あ, あい, あイ, い, ア, アい, イ

Comparison<T>デリゲートについては大小関係の定義と比較 §.Comparison<T>を参照してください。

ソートについて詳しくは基本型のソートと昇順・降順でのソートを参照してください。