我正在尝试检查字符串是否包含列表中的元素。
// if(Change.Any(x => x.Contains(pname)))
if (pname.Contains(Change.Count.ToString()) )
{
print("ole");
Health = System.Convert.ToInt32(changer);
Health ++;
changer = Health .ToString();
pname = cName + changer;
}
答案 0 :(得分:1)
您需要使用:
Change.Any(x => pname.Contains(x));
检查Change
列表中是否包含pname
列表中的任何元素[x]
答案 1 :(得分:0)
如果您的代码经常进行此类检查(对于“更干净”的读取),您可能有兴趣在字符串上使用扩展名,请参阅下面添加的代码 - 它测试一个扩展类,用于执行相同操作的字符串;但您的生产代码将显示为“MyString.HasAnyElementsOfList(MyListOfStrings)”。
只是一个想法,而不是一个要求 - 希望它有所帮助!快乐的编码! -Darth
[TestFixture]
public class UnitTest1
{
[Test]
public void StringFromListIsFoundInString()
{
var listOfString = new List<string>() {"test", "bigword", "sillyword"};
var stringToSearch = "this is a test";
Assert.That(stringToSearch.HasAnyElementsOfList(listOfString), Is.EqualTo(true));
}
}
public static class MyStringExtensions
{
public static bool HasAnyElementsOfList(this string stringToSearch, List<string> listOfStrings)
{
return listOfStrings.Any(listString => stringToSearch.Contains(listString));
}
}