web-dev-qa-db-ja.com

この文字は何ですか? 65279 ''

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 ''とは何なのかわかりません。

空のキャラクターですか?

45
장선민

幅ゼロの改行なしスペース です。
- バイトオーダーマーク(BOM) としてより一般的に使用されます。

63
SLaks

Notepad ++を使用している場合は、UTF-8(BOMなし)に変換してみてください。また、プロジェクト内のすべてのファイルが同じファイルシステム形式であることを確認してください。

6
kurdtpage

メモ帳で開いたファイルを読み込んでいる場合、それが悪名高いいくつかのプログラムの1つであるため、ファイルを追加した可能性があります。

4
Dan Witkowski