我有一个为字符串值声明的变量列表。它来自外部来源,可能有 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
{}
...
...
...
答案 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.Contains
或 string.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"))
{
...
}