문자열 목록이 있는데 그 중 하나가 바늘 문자열과 일치하는지 확인하려고합니다. 문자열의 목록은 첫 번째 인덱스에서 바늘을 포함하고, 내 코드는 다음과 같은 문제가 있습니다문자열을 찾으려면 List.Contains 메서드를 사용하여 false를 반환하지만 수동 비교는 true를 반환합니다.
listOfStrings.Contains(needle); // return false
listOfStrings[0] == needle; // return true
를 이유는 무엇입니까이 방법은 기본 비교 beahavior와 다른 동작을, 나는 그래서 그 무엇을 수정해야합니다 포함 똑같은 애비가 있습니까?
내가 직면하고있는 문제에 대해 더 많은 통찰력을주기 위해 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
사용중인 문자열에 대한 정보를 조금 더주십시오. 몇 가지 예. –
도움을 청하고있는 사람들이 문제가 무엇인지 추측 해선 안됩니다. 문제를 컴파일하고 시연하는 * 명확하고 간단한 예제를 제공하십시오. –