非LINQ数组搜索

时间:2017-08-31 18:53:16

标签: c# arrays linq

是否有非LINQ方式搜索数组?我使用的应用程序IDE不支持LINQ。

using System.Linq;

string qSupEquip  = "Two";

string [] keyOne = {"ALBAN", "BALYWIN", "BALT"};


private void XtraReportTemplate_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {

    if (keyOne.Contains(lblFac.Text)){
        lblName.Text = qSupEquip;
    }

}

2 个答案:

答案 0 :(得分:3)

只需迭代数组并检查每个项目:

bool found = false;
foreach(var element in keyOne)
{
    if(element == lblFac.Text)
    {
        found = true;
        break;
    }
}

另外,从您的数组中列出一个列表并使用List.Contains

bool found = new List<string>(keyOne).Contains(lblFac.Text);

答案 1 :(得分:-2)

我尽可能避免循环,因此System.Array上的一些方法应该适合你。我的第一个选择是Exists方法,因为你只关心元素是否在数组中。如果您需要实际访问元素或使用其值,也可以使用Find或IndexOf。

if(Array.Exists(keyOne, elem => elem == lblFac.Text){
    lblName.Text = qSupEquip;
}