String包含另外两个字符串

Win*_*nkz 14 c# string contains

是否有可能有包含函数发现如果字符串包含2个字以上?这就是我想要做的:

string d = "You hit someone for 50 damage";
string a = "damage";
string b = "someone";
string c = "you";

if(d.Contains(b + a))
{   
    Console.WriteLine(" " + d);
    Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)

当我运行此,控制台窗口刚刚关闭的真快,而不显示任何内容.

而另一个问题:如果我一想添加多少损害的是,这将是获得该号码,把它变成一个最简单的方法TryParse

Bri*_*haw 41

你最好只是调用Contains两次或者使用自己的扩展方法来处理这个问题.

string d = "You hit someone for 50 damage";
string a = "damage";
string b = "someone";
string c = "you";

if(d.Contains(a) && d.Contains(b))
{
   Console.WriteLine(" " + d);
   Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)

至于你的另一个问题,你可以构建一个正则表达式来解析字符串以找到50,或者如果字符串总是相同的,只需根据空格拆分它并获得第5部分.


Dus*_*gen 8

public static class StringExtensions
{
    public static bool Contains(this string s, params string[] predicates)
    {
        return predicates.All(s.Contains);
    }
}

string d = "You hit someone for 50 damage";
string a = "damage";
string b = "someone";
string c = "you";

if (d.Contains(a, b))
{
    Console.WriteLine("d contains a and b");
}
Run Code Online (Sandbox Code Playgroud)


Tra*_*lli 6

那是因为if语句返回false,因为d不包含b + a即"someonedamage"