CompareToメソッド、Compareメソッド、Equalsメソッドでは、文字列比較時の動作をStringComparisonで指定することができます。 例えば、大文字小文字の違いを無視して文字列の比較を行うことができます。

String.Compare・Equalsメソッドで大文字小文字の違いを無視する
using System;

class Sample {
  static void Main()
  {
    string s1 = "Bar";
    string s2 = "bar";
    string s3 = "BAR";

    Console.WriteLine("Compare({0}, {1}) : {2}", s1, s2, String.Compare(s1, s2, StringComparison.InvariantCulture)); // 大文字小文字の違いを無視しない
    Console.WriteLine("Compare({0}, {1}) : {2}", s1, s2, String.Compare(s1, s2, StringComparison.InvariantCultureIgnoreCase)); // 大文字小文字の違いを無視する
    Console.WriteLine("Compare({0}, {1}) : {2}", s1, s3, String.Compare(s1, s3, StringComparison.InvariantCulture));
    Console.WriteLine("Compare({0}, {1}) : {2}", s1, s3, String.Compare(s1, s3, StringComparison.InvariantCultureIgnoreCase));

    Console.WriteLine("Equals({0}, {1}) : {2}", s1, s2, String.Equals(s1, s2, StringComparison.InvariantCulture));
    Console.WriteLine("Equals({0}, {1}) : {2}", s1, s2, String.Equals(s1, s2, StringComparison.InvariantCultureIgnoreCase));
    Console.WriteLine("Equals({0}, {1}) : {2}", s1, s3, String.Equals(s1, s3, StringComparison.InvariantCulture));
    Console.WriteLine("Equals({0}, {1}) : {2}", s1, s3, String.Equals(s1, s3, StringComparison.InvariantCultureIgnoreCase));

  }
}
実行結果
Compare(Bar, bar) : 1
Compare(Bar, bar) : 0
Compare(Bar, BAR) : -1
Compare(Bar, BAR) : 0
Equals(Bar, bar) : False
Equals(Bar, bar) : True
Equals(Bar, BAR) : False
Equals(Bar, BAR) : True

文字列比較時のオプションStringComparisonについては文字列と比較オプション・カルチャの並べ替え規則 §.StringComparison列挙型とStringComparerクラスで詳しく説明しています。