如果我在第二个中使用硬编码“ 4”,则它可以工作。但是我有一个动态string [] ProfileArray并想检查一下,是否View08ListBox1Item的值包含或不包含ProfileArray中的字符串之一。当我对string [] ProfileArray更改“ 4”时,为什么它不起作用?
全球:
static string[] ProfileArray;
case "Profile":
foreach (ListItem View08ListBox1Item in View08ListBox1.Items)
{
if (View08ListBox1Item.Selected)
{
if (!View08ListBox1Item.Value.ToString().Contains("4"))
{
//:do something
}
else
{
//:do something
}
}
}
break;
这是我的第一个主意,但不起作用:
case "Profile":
foreach (ListItem View08ListBox1Item in View08ListBox1.Items)
{
if (View08ListBox1Item.Selected)
{
if (!View08ListBox1Item.Value.ToString().Contains(ProfileArray))
{
//:do something
}
else
{
//:do something
}
}
}
break;
最佳答案
因为ProfileArray是数组而不是字符串。
ProfileArray.Any(x => x == View08ListBox1Item.Value.ToString())
我认为这可以工作。
在.NET 2.0中,您可以使用
Array.IndexOf(ProfileArray, View08ListBox1Item.Value.ToString()) == -1
见http://msdn.microsoft.com/en-us/library/eha9t187%28v=vs.80%29.aspx
关于c# - 检查字符串是否包含在数组中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18235861/