如果字符串项不在字符串数组中

CSh*_*zie 5 c#

我有一个字符串数组.我需要根据所选项目是否在数组中显示按钮.我需要知道如何告诉程序"(array.NOT Contains("string"))".请任何人帮帮我?提前致谢

我的代码:

    List<string> activationids = new List<string>();
    foreach (ModuleActivation moduleactivation in activationid)
         activationids.Add(moduleactivation.ActivationID);

    string gvselectActID = GridView1.SelectedRow.Cells[1].Text;

    if (activationids.Contains(gvselectActID))
    {
      activateInsert.Visible = true;
      activateUpdate.Visible = false;
      deactivate.Visible = true;
    }
    else if (activationids."NOT" Contains(gvselectActID))
    {
      activateInsert.Visible = false;
      activateUpdate.Visible = true;
      deactivate.Visible = false;
    }
    else
    {
     activateInsert.Visible = false;
     activateUpdate.Visible = false;
     deactivate.Visible = false;
    }
  } 
Run Code Online (Sandbox Code Playgroud)

Nei*_*ght 10

更改:

else if (activationids."NOT" Contains(gvselectActID)) 
Run Code Online (Sandbox Code Playgroud)

else if (!activationids.Contains(gvselectActID)) 
Run Code Online (Sandbox Code Playgroud)


Ale*_*lex 6

甚至更简单

bool containsItem=activationids.Contains(gvselectActID);

activateInsert.Visible = containsItem;
activateUpdate.Visible = !containsItem;
deactivate.Visible = containsItem;
Run Code Online (Sandbox Code Playgroud)


the*_*ost 2

意思!是“不”。所以你必须把它放在你需要否定的表达式前面;

!activationids.Contains("blahblah");

然而,很明显,如果activationids.Contains("blahblah")false,你将进入第二种情况。另外,目前,你的第三个方块 ( ... else { ...) 永远不会被击中。