如何检查黑名单的部分内容

时间:2015-07-17 08:32:33

标签: c# arrays sql-server linq sql-like

if (!blacklist.Contains(tabName) && (allowedSchemas.Contains(schName)) )
{
    string schemaname = GetStringFromReader(reader, "SchemaName");
    string tablename = GetStringFromReader(reader, "TableName");
    string description = GetStringFromReader(reader, "Description");
    string columnname = "null";

    tabInfo.Add(new TableInfo(schemaname, tablename, columnname, description));
}

这是我的代码我遇到了问题。 例如,我有tabName = BSPname,在我的Blacklist = BSP中。 所以我需要在这里得到一个真实的。

现在它只有在Blacklist == tabName。

时才给我

所以我需要像在MSSQL中一样:tabName NOT LIKE%@ blacklist%

我希望你理解我的问题

Janik的

1 个答案:

答案 0 :(得分:1)

你需要这个tabName NOT LIKE %@blacklist%,而不是你需要检查字符串,这意味着你需要在字符串上应用包含

var match = blacklist.FirstOrDefault(s=>tabName.ToUpper().Contains(s.ToUpper()));
if( match==null && (allowedSchemas.Contains(schName)) )
{
  ..your code
}