奇怪的事情正在发生在我身上。我必须执行以下功能:
private string CategoryByName(string path) {
path.ToLower();
if (path.Contains("obs") || path.Contains("obst")||path.Contains("birthing")) return "Birthing";
if (path.Contains("sbu2")||(!path.Contains("sbu3")&&path.Contains("gyn"))) return "Gynecology SBU2";
if (path.Contains("sbu3")) return "Gynecology SBU3";
if (path.Contains("dia") || path.Contains("sprint")||(path.Contains("strechers"))) return "Strechers";
if (path.Contains("one_day") || path.Contains("one day") || (path.Contains("oda"))) return "One-day care";
return "";
}
我浏览了文件名列表。包括前“ INDO OBST.xlsx”,应返回为“出生”,但返回为“”。
答案 0 :(得分:1)
包含的内容区分大小写,根据您知道的ToLower()判断。
但是,ToLower()不会操纵路径变量。相反,您应该重新分配它。您可以将path.ToLower()
更改为path = path.ToLower()
答案 1 :(得分:0)
ToLower方法返回调整后的字符串:
path = path.ToLower();
答案 2 :(得分:0)
写一个看起来像这样的扩展方法:
public static class Extensions
{
public static bool ContainsNoCase(this string stringToLookIn, string stringToFind)
{
return stringToLookIn.IndexOf(stringToFind, StringComparison.OrdinalIgnoreCase) >= 0;
}
}
并使用ContainsNoCase
代替Contains