2つの文字列があります。
1つは「\」です
そしてもう一方は「\」です
同じだと思います。
しかしながら、 String.Compare
は違うと言います。
これは非常に奇妙です。
ここに私のコードがあります:
string b = "\"";
string c = "\"";
if (string.Compare(b, c) == 0)
{
Console.WriteLine("Good");
}
if (c.StartsWith("\""))
{
Console.WriteLine("C");
}
if (b.StartsWith("\""))
{
Console.WriteLine("B");
}
「GoodCB」と表示される可能性があります。
ただし、「B」のみが出力されます。
私のデバッガーでは、c[0]
は65279 ''であり、c[1]
は34 '"'で、b[0]
は '"'です。
しかし、65279 ''とは何なのかわかりません。
空のキャラクターですか?
幅ゼロの改行なしスペース です。
- バイトオーダーマーク(BOM) としてより一般的に使用されます。
Notepad ++を使用している場合は、UTF-8(BOMなし)に変換してみてください。また、プロジェクト内のすべてのファイルが同じファイルシステム形式であることを確認してください。
メモ帳で開いたファイルを読み込んでいる場合、それが悪名高いいくつかのプログラムの1つであるため、ファイルを追加した可能性があります。