如果lineInfo不等于c#中的多个字符串,该如何处理?
在第二条if语句中,我希望lineInfo不等于多个字符串,然后返回如果lineInfo不等于c#中的多个字符串,该如何处理?,c#,C#,在第二条if语句中,我希望lineInfo不等于多个字符串,然后返回 if (lineInfo.Equals("Eriri")) { Console.WriteLine("Here is Eriri"); Eriri.Visible = true; } if (!lineInfo.Equals("Emilia", "Eriri", "Xayah", "Eucliwood", "Asuna")) { Console.WriteLine("Sorry, we do not
if (lineInfo.Equals("Eriri"))
{
Console.WriteLine("Here is Eriri"); Eriri.Visible = true;
}
if (!lineInfo.Equals("Emilia", "Eriri", "Xayah", "Eucliwood", "Asuna"))
{
Console.WriteLine("Sorry, we do not have her, try another one");
Waifus.Visible = true;
}
第一个有效,因为我只有一个字符串。第二个在.equals上给出了一个错误。表示“方法'Equals'没有重载。接受5个参数”。字符串方法只能比较一个字符串值
public override bool Equals(object obj);
如果您想比较多个字符串,可以尝试使用collection方法进行比较
添加您要在、字符串数组或集合中比较字符串值的内容
然后使用Contains
检查值,是否在集合中比较多个字符串
List<string> condition = new List<string>() { "Emilia", "Eriri", "Xayah" , "Eucliwood" };
if (!condition.Contains(lineInfo))
{
Console.WriteLine("Sorry, we do not have her, try another one");
Waifus.Visible = true;
}
用法:
lineInfo.EqualsOneOf(“埃米利娅”、“埃里里”、“沙耶”、“尤克里伍德”、“阿斯纳”)
public static bool EqualsOneOf(this string self, params string[] values) => values.Contains(self);