CONTAINS方法的替代方案?

时间:2013-02-05 00:01:01

标签: string contains anonymous-types

给下面的字符串添加“服务器类型”,用逗号分隔:

string serverTypeList =“DB,IIS,CMDB”;

// server.Type在下面的循环中应该具有值“MDB”

我的问题是在这种情况下它会返回TRUE,因为“MDB”字符串在serverTypeList中。 只有当它匹配“MDB”类型而不是“CMDB”时才需要它返回TRUE:

...

from site in SiteManager.Sites
from server in site.Servers
where
  serverTypeList.Contains(server.Type)
select new Server()
{ ID=server.ID, SiteName=site.Name }

...

如何更改上面的代码?

谢谢

1 个答案:

答案 0 :(得分:1)

(", " + serverTypeList + ", ").Contains(", " + server.Type + ", ")

是处理此问题的一种标准方法。我不清楚你正在使用的语言,所以我不知道你需要的确切语法,但一般的想法是通过在列表字符串之前和之后强制分隔符来确保该术语出现在分隔符之间。 / p>