检查 String.Contain 是否包含列表中的元素
Check if String.Contain contain element from list
我正在尝试做一些简单的事情来检查字符串是否包含列表中的元素。
// 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;
}
您需要使用:
Change.Any(x => pname.Contains(x));
检查 Change
列表中的任何元素 [x] 是否包含在字符串 pname
中
如果您的代码经常进行这种检查(对于 "cleaner" 读取),您可能对在字符串上使用扩展感兴趣,请参阅下面添加的代码 - 它测试扩展 class 对于做同样事情的字符串;但是您的生产代码会显示为 "MyString.HasAnyElementsOfList(MyListOfStrings)"。
只是一个想法,不是必需的 - 希望对您有所帮助!编码愉快!
-达斯
[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));
}
}
我正在尝试做一些简单的事情来检查字符串是否包含列表中的元素。
// 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;
}
您需要使用:
Change.Any(x => pname.Contains(x));
检查 Change
列表中的任何元素 [x] 是否包含在字符串 pname
如果您的代码经常进行这种检查(对于 "cleaner" 读取),您可能对在字符串上使用扩展感兴趣,请参阅下面添加的代码 - 它测试扩展 class 对于做同样事情的字符串;但是您的生产代码会显示为 "MyString.HasAnyElementsOfList(MyListOfStrings)"。
只是一个想法,不是必需的 - 希望对您有所帮助!编码愉快! -达斯
[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));
}
}