List<string> expectedResult = new List<string> { "article i", "article ii", "article iii" };
string result = Selenium.GetText("result_list");
if (expectedResult.Any(result.ToLower().Contains))
{
// do something
}
我得到result = "Article I"
,但expectedResult.Any(result.ToLower().Contains)
返回false。不确定为什么ToLower()
不起作用?
任何人都可以查看我的作品,如果我在这里做事,请告诉我吗?
答案 0 :(得分:3)
试试这个:
List<string> expectedResult = new List<string> { "article i", "article ii", "article iii" };
string result = Selenium.GetText("result_list");
if (expectedResult.Contains(result.ToLower()))
{
// do something
}
答案 1 :(得分:3)
这是按预期工作的,来自Selenium的字符串必须不同。
产生匹配的测试用例:
List<string> expectedResult = new List<string> { "article i", "article ii", "article iii" };
string result = "Article I";
if (expectedResult.Any(result.ToLower().Contains))
{
Console.WriteLine("Contains");
// do something
}
答案 2 :(得分:1)
在这种情况下,不使用ToLower
,而使用Contains
的{{1}}重载更有效。
原因是StringComparer
将创建原始字符串的(临时)副本,而ToLower
重载则不会:
Contains