【发布时间】:2017-11-30 20:48:40
【问题描述】:
我有一个字符串列表,我正在尝试确定其中一个是否与针线匹配。该字符串列表在第一个索引处包含针,我的代码具有以下行为:
listOfStrings.Contains(needle); // return false
listOfStrings[0] == needle; // return true
为什么 Contains 方法的行为与默认比较行为不同,我应该修改什么使其具有相同的行为?
为了更深入地了解我所面临的问题,我正在处理来自 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
【问题讨论】:
-
我们需要一些例子来看看。信息不足。
-
请给我们更多关于正在使用的字符串的信息。几个例子。
-
不要让您寻求帮助的人不得不猜测问题所在;给出一个编译和演示问题的清晰、简短的示例。
-
我编辑了问题以提供精确的示例。
标签: c# .net string string-comparison