【发布时间】:2012-10-26 18:50:44
【问题描述】:
如何在 C# 中检查一个值是否在数组中?
比如,我想创建一个包含打印机名称列表的数组。
这些将被提供给一个方法,该方法将依次查看每个字符串,如果字符串与数组中的值相同,则执行该操作。
例如:
string[] printer = {"jupiter", "neptune", "pangea", "mercury", "sonic"};
foreach (p in printer)
{
PrinterSetup(p);
}
这些是打印机的名称,它们被输入到 PrinterSetup 方法。
PrinterSetup 看起来有点像这样(一些伪代码):
public void PrinterSetup(printer)
{
if (printer == "jupiter")
{
Process.Start("BLAH BLAH CODE TO ADD PRINTER VIA WINDOWS EXEC");
}
}
如何以 C# 可以识别的方式格式化 if (printer == "jupiter")?
【问题讨论】:
-
尝试给你的参数名称一个类型(字符串),就可以了。
-
我对这个问题有点困惑。您是在问如何检查一个值是否在数组中,或者如何在 C# 中进行字符串比较?如果是后者,您将使用
printer.Equals("jupiter")。如果是前者,请使用linq和printer.Contains("jupiter") -
@newfurniturey 相当...问题很混乱,示例代码与标题不匹配,因此答案也很混乱;为什么像这样的废话会被赞成,这超出了我的理解。而且没有必要做
printer.Equals("jupiter")... OP 的代码if (printer == "jupiter")工作得很好...只要printer被声明为一个字符串,正如Skeet 所指出的那样。