【发布时间】:2019-03-22 15:14:51
【问题描述】:
我有一个包含一些服务名称的列表以及两个文本框。第一个文本框是您输入您希望服务包含的字词的地方,另一个文本框是您输入要排除的字词的地方。因此,如果我输入 tbOne = SQL 并且对于 tbTwo = Browser,Server。我应该只获得 SQL 管理。相反,它遍历列表中的每个项目并显示它。我该如何防止这种情况。请帮忙。
protected void Button1_Click(object sender, EventArgs e)
{
string tbOne = TextBox1.Text;
string[] tbOneArray = tbOne.Split(',');
string tbTwo = TextBox2.Text;
string[] tbTwoArray = tbTwo.Split(',');
var service1 = "SQL Server Agent";
var service2 = "SQL Browser";
var service3 = "SQL Administration";
List<string> listOfServices = new List<string>();
listOfServices.Add(service1);
listOfServices.Add(service2);
listOfServices.Add(service3);
foreach (var service in listOfServices)
{
foreach (var includedItem in tbOneArray)
{
foreach (var excludedItem in tbTwoArray)
{
if (service.Contains(includedItem) && !service.Contains(excludedItem))
{
Response.Write(service);
}
}
}
}
}
【问题讨论】:
-
1.迭代:“SQL 浏览器”包括“SQL”和“浏览器”-> 没有写入,2. 迭代:“SQL 浏览器”包括“SQL”而不是“服务器”=> 写入...看到问题了吗?