繁体   English   中英

如何在c#asp.net中搜索项目列表?

[英]how to search for an item a LIST of struct in c# asp.net?

我有以下结构

 public struct Colors
 {
     public double MinV;
     public double MaxV;
     public string color;
 }
 List<Colors> ColorValues = new List<Colors>();

我需要检索具有位于Minv和Maxv之间的值的元素的颜色。

我的工作如下

i=0;
while (i < ColorValues.Count)
{
    if (value> ColorValues[i].MinV && value< ColorValues[i].MaxV) 
        Color=ColorValues[i].color;
    i++;
}

我需要用快速搜索方式替换这个循环。

使用LINQ:

如果您需要符合条件的所有结构:

 var allThatFitsCriteria = ColorValues.Where(x => value > x.MinV && value < x.MaxV);

如果您只需要第一个(如果存在):

 var firstThatFitsCriteriaOrNull = ColorValues.FirstOrDefault(x => value > x.MinV && value < x.MaxV);

一旦找到了您正在寻找的东西,就会进行优化

i=0;
while (i < ColorValues.Count)
{
    if (value> ColorValues[i].MinV && value< ColorValues[i].MaxV) 
    {
        Color=ColorValues[i].color; 
        break; 
    }
    i++;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM