.NET パスの奇妙な現象: バックスラッシュの双子
C# パスをチェックするときに、開発者は予期しない現象に遭遇する可能性があります。つまり、余分なバックスラッシュ () がパスに追加されます。これにより、パスを操作または解析するときに混乱や不確実性が生じる可能性があります。
説明: エスケープシーケンス
の解放バックスラッシュが繰り返される理由は、バックスラッシュ文字自体の性質です。 C# では、バックスラッシュ () はエスケープ文字であり、特別な意味を持つことを意味します。バックスラッシュを文字列で使用する場合、後続の文字を別の方法で処理する必要があることを示します。
パスの場合、パスのコンポーネントを区切るためにバックスラッシュが使用されます。ただし、パス区切り文字として誤って解釈されないように、バックスラッシュ自体をエスケープする必要があります。そのため、2 番目のバックスラッシュが表示されます。
最初のバックスラッシュ () はエスケープ文字として機能し、2 番目のバックスラッシュ (
\
) を実際のパス区切り文字として扱うようにコンパイラーに指示します。したがって、C:\Test
はパス C:Test
を表し、エスケープ文字ではなくパスの一部とみなされるように、文字「T」の前に最初のバックスラッシュが付けられます。
混乱を避けるためにエスケープ文字を使用してください
さらに明確にするために、C# で使用される一般的なエスケープ文字のリストを次に示します。
\'
: 一重引用符 (文字リテラルの場合) \"
: 二重引用符 (文字列リテラルの場合) \
: バックスラッシュ
\a
\f
\n
\r
\t
\v
パス操作: スラッシュの決定を簡単に行う
Split
余分なバックスラッシュにもかかわらず、\
のような文字列メソッドを使用すると、パスの操作は依然として簡単です。
<code class="language-csharp">string path = @"C:\Test"; string[] parts = path.Split('\'); Console.WriteLine(parts[0]); // 输出:C: Console.WriteLine(parts[1]); // 输出:Test</code>
以上がC# パスに余分なバックスラッシュが含まれるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。