私は文字列のリストを持っており、そのうちの1つが針文字列と一致するかどうかを調べようとしています。この方法は、デフォルトの比較とは異なる振る舞いを持ちbeahavior、そのように私は何を変更する必要があります含まれていないのはなぜList.Containsメソッドを使用して文字列を検索するとfalseが返されますが、手動による比較はtrueを返します
listOfStrings.Contains(needle); // return false
listOfStrings[0] == needle; // return true
:文字列のリストは、最初のインデックスで針が含まれている、と私のコードは次のように動作しています同じことが生まれている?
私が直面している問題についてのより詳細な情報を得るために、私はWinFormテキストボックスの文字列を処理しています。入力パスと宛先フォルダを表します。
if (!destinationPath.EndsWith("\\"))
{
destinationPath += "\\";
}
List<string> inputDirectories = new List<string>(inputPaths.Length);
foreach (string path in inputPaths)
{
inputDirectories.Add(Path.GetDirectoryName(path).ToLower());
}
bool comparison1 = inputDirectories[0] == Path.GetDirectoryName(destinationPath.ToLower()); // return true
bool comparison2 = inputDirectories.Contains(Path.GetDirectoryName(destinationPath.ToLower())); // return false
見てみるにはいくつかの例が必要です。これは十分な情報ではありません。 – NendoTaka
使用している文字列に関する情報をもう少し教えてください。いくつかの例。 –
あなたが助けを求めている人々に、問題の原因を推測させる必要はありません。この問題をコンパイルして実証する*明確で短い例を与える*。 –