如何使用LINQ从List <Price>获取最接近的数字?

Mayuresh Jadhav

我有一个价格矩阵列表,我在其中存储商品的宽度,长度和价格。我想从输入的宽度和长度中找到最大的宽度和高度。例如,让我们说,

Public Class ItemPrice
{
public int id{ get; set; }
public string item{ get; set; }
public int width{ get; set; }
public int height{ get; set; }
public decimal price{ get; set; }
} 

List<ItemPrice> itemorder = new List<ItemPrice>();
itemorder.Add(new ItemPrice(1,"A",24,12,$12.24));
itemorder.Add(new ItemPrice(2,"A",24,14,$16.24));
itemorder.Add(new ItemPrice(3,"A",36,12,,$18.24));
itemorder.Add(new ItemPrice(4,"A",36,14,$21.24));

这意味着它看起来像

       24      36
--------------------
12 | $12.24  $18.24
14 | $16.24  $21.24

我如何找到宽度为30且高度为13的ItemPrice id 4?如果宽度= 40且高度= 16,我如何返回空值?

史蒂文·里肯斯(Steven Liekens)

这应该为您做到:

// Change these as needed
int orderWidth = 1;
int orderHeight = 1;

var bestMatch = (from item in itemorder
                 where item.width >= orderWidth
                 where item.height >= orderHeight
                 orderby item.width * item.height
                 select item).FirstOrDefault();

此LINQ查询将所有大小小于订购大小的项目过滤掉。然后,它将其余项目按升序排列。最后,它选择第一个项目(==最小项目)或null。

编辑

这是一个基于每个项目的边的总和的更新的解决方案。

int orderWidth = 4;
int orderHeight = 4;

int orderSum = orderWidth + orderHeight;

var bestMatch = (from item in itemorder
                 where item.width >= orderWidth
                 where item.height >= orderHeight
                 let itemSum = item.width + item.height
                 let difference = Math.Abs(orderSum - itemSum)
                 orderby difference
                 select item).FirstOrDefault();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用LINQ从List <Price>获取最接近的数字?

来自分类Dev

如何使用lodash从数组中获取最接近目标的前两个数字?

来自分类Dev

如何从List <DateTime>获取最接近的DateTime

来自分类Dev

使用.eq最接近以获取上div

来自分类Dev

matlab如何用最接近的邻居替换列表中的数字

来自分类Dev

如何在各列中找到最接近的数字?

来自分类Dev

如何按最接近的数字对数组排序

来自分类Dev

如何找到最接近某个数字的数组元素?

来自分类Dev

如何在 Python 中找到最接近数字的值?

来自分类Dev

如何比较Color对象并获取Color []中最接近的Color?

来自分类Dev

如何获取父级或最接近的字段集的ID?

来自分类Dev

如何从数组对象获取最近或最接近的日期?

来自分类Dev

如何从最接近的不同<tr>获取<td>值

来自分类Dev

每半小时如何获取最接近的日期

来自分类Dev

如何获取PostgreSQL中特定行的最接近日期

来自分类Dev

如何获取NSDecimal舍入到最接近的整数值?

来自分类Dev

如何获取最接近x的列表中的值的索引?

来自分类Dev

使用xpath获取第n个最接近的后代

来自分类Dev

使用Nokogiri解析HTML,并获取最接近的“ <div>”文本

来自分类Dev

使用Jquery最近的()函数获取最接近SVG节点的元素

来自分类Dev

使用最接近时,jQuery无法获取输入字段的值

来自分类Dev

使用JavaScript通过多行获取最接近的匹配项

来自分类Dev

批量获取最接近完美平方的数字

来自分类Dev

从数组获取数字的最接近值

来自分类Dev

获取数组中最接近的数字

来自分类Dev

如何找到与另一个数字最接近的数字,即2的幂?

来自分类Dev

如何在距x的距离处找到与给定数字最接近的n个数字?

来自分类Dev

如何在距x的距离处找到与给定数字最接近的n个数字?

来自分类Dev

如何使用Math.round将数字四舍五入到最接近的偶数?

Related 相关文章

  1. 1

    如何使用LINQ从List <Price>获取最接近的数字?

  2. 2

    如何使用lodash从数组中获取最接近目标的前两个数字?

  3. 3

    如何从List <DateTime>获取最接近的DateTime

  4. 4

    使用.eq最接近以获取上div

  5. 5

    matlab如何用最接近的邻居替换列表中的数字

  6. 6

    如何在各列中找到最接近的数字?

  7. 7

    如何按最接近的数字对数组排序

  8. 8

    如何找到最接近某个数字的数组元素?

  9. 9

    如何在 Python 中找到最接近数字的值?

  10. 10

    如何比较Color对象并获取Color []中最接近的Color?

  11. 11

    如何获取父级或最接近的字段集的ID?

  12. 12

    如何从数组对象获取最近或最接近的日期?

  13. 13

    如何从最接近的不同<tr>获取<td>值

  14. 14

    每半小时如何获取最接近的日期

  15. 15

    如何获取PostgreSQL中特定行的最接近日期

  16. 16

    如何获取NSDecimal舍入到最接近的整数值?

  17. 17

    如何获取最接近x的列表中的值的索引?

  18. 18

    使用xpath获取第n个最接近的后代

  19. 19

    使用Nokogiri解析HTML,并获取最接近的“ <div>”文本

  20. 20

    使用Jquery最近的()函数获取最接近SVG节点的元素

  21. 21

    使用最接近时,jQuery无法获取输入字段的值

  22. 22

    使用JavaScript通过多行获取最接近的匹配项

  23. 23

    批量获取最接近完美平方的数字

  24. 24

    从数组获取数字的最接近值

  25. 25

    获取数组中最接近的数字

  26. 26

    如何找到与另一个数字最接近的数字,即2的幂?

  27. 27

    如何在距x的距离处找到与给定数字最接近的n个数字?

  28. 28

    如何在距x的距离处找到与给定数字最接近的n个数字?

  29. 29

    如何使用Math.round将数字四舍五入到最接近的偶数?

热门标签

归档