如何在c# asp.net中搜索结构的LIST项
本文关键字:结构 搜索 LIST net asp | 更新日期: 2023-09-27 17:50:23
我有以下结构体
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++;
}