"".Equals()

受託開発担当のRyuです。

私は値を比較する場合、変数を左辺に置いて式を記述します。

void func()
{
	int num = 1;
	if (num == 1) {}
	
	string str = "ほげ";
	if (str == "ほげ") {}
}

比較の記述方法は人によって様々なのでしょうが、普段左辺に変数を記述している人でもあるとき突然、左辺と右辺が逆転してしまうときがあります。
Equalsメソッドを使用するときです。

void func()
{
	string str = "":
	if ("".Equals(str)) {}	// 右辺に変数
}

なぜこういうコードが出現するのかというと、もし変数がnullだった場合Equalsメソッドを実行できないため、nullを参照することによる例外が発生してしまうからです。
この例外を発生させないためには先にnull値と比較を行うか、比較時に必ず実体が存在するリテラルのEqualsを使用します。
毎回null値との比較を行うのが面倒なので、右辺と左辺を逆転して記述するという形になるんですね。

void func()
{
	string str = "":
	if (str != null &&		// 記述が面倒
		str.Equals("")) {}
}

ですが私は非常に神経質なため、どうしても左辺に変数を置いて比較を行いたい。
けれど同時に面倒くさがりやなためnullとの比較を毎回記述するのは嫌です。
そのため以下のように記述します。

void func()
{
	string str = "":
	if (String.Equals(str, "")) {}
}

多少記述量が増えましたが、これなら左辺に変数を置くというルールを守ったまま記述できます。

Equalsメソッドひとつ取っても様々な書き方があります。
どれが正解というものではないので、自分にあったコーディングスタイルを選んでいけたら良いなと思います。