检查是否没有给定的字符串包含某个字符串

时间:2021-02-16 12:44:05

标签: c# unity3d

我有一个为字符串值声明的变量列表。它来自外部来源,可能有 5-10 个变量。如何检查它们是否都包含某个字符串(“K.K”)?我不想检查每个例如

public string string_1;
public string string_2;
public string string_3;
...
...
...

if(string_1!= "K.K") //for all the strings for non-array collection
{}
...
...
...

1 个答案:

答案 0 :(得分:3)

如果您知道如何将变量放入数组/列表中

var strings = new List<string>();
strings.Add(string_1);
strings.Add(string_2);
strings.Add(string_3);
...

var strings = new List<string>{string_1, string_2, string_3, ...};

var strings = new []{string_1, string_2, string_3, ...};

你可以例如根据您的需要使用 Linq Any 和过滤器 string.Containsstring.Equals

if(!strings.Any(s => s.Contains("K.K")))
{
    ...
}

如果您知道您的字符串都应该唯一,那么除了使用 Equals 之外,您也可以使用

var strings = new HashSet<string>();
strings.Add(string_1);
strings.Add(string_2);
strings.Add(string_3);
...

var strings = new HashSet<string>{string_1, string_2, string_3, ...};

然后简单地检查

if(!strings.Contains("K.K"))
{
    ...
}