C#对照字符串的一部分检查列表
本文关键字:一部分 检查 列表 字符串 | 更新日期: 2023-09-27 18:24:58
我有一个包含值的列表,例如:
- 准备行动
- 使用操作
- 开始投射动作
我想将一个字符串与这个列表进行比较,并在此基础上返回一个布尔值。例如:
string compare = "The Manipulator uses action";
为此,我尝试了两种不同的方法,第一种是:
if (mylist.Contains(compare)) { //True }
第二个(与Linq):
if (mylist.Any(str => str.Contains(compare))) { //True }
我遇到的问题是这两个方法都与扩展字符串匹配。我的意思是,如果compare=="use-action",则语句返回true,但如果compare=="操纵器使用action"则语句返回false。
如有任何帮助,我们将不胜感激!:)
我并没有完全遵循您的要求,因此根据预期结果,有两种不同的解决方案。
如果你只想从列表中匹配完全相同的字符串,那么Any
是最好的方法,但你应该使用==
而不是Contains
:
if (mylist.Any(str => str == compare)) { //True }
如果希望扩展字符串也匹配,则使用Contains
,但不调用str.Contains(compare)
,而是调用compare.Contains(str)
:
if (mylist.Any(str => compare.Contains(str))) { //True }