0

请考虑以下 ValueTuple C#7 列表

static void Main(string[] args)

{

 List<(double prices, int matches)> myList = new List<(double, int)>();

                myList.Add((100, 10));  

                myList.Add((100.50 , 12)); 

                myList.Add((101 , 14));

                myList.Add((101.50 , 16));

}

在列表中搜索满足“价格”和“匹配”条件的项目并在另一个 ValueTuple 列表中返回结果的简单方法是什么。

例如,如果我想返回另一个满足“价格 > 101 并且匹配 > 6”的 ValueTuples 列表

你可以发布一个例子吗?

4

1 回答 1

1

如果你给项目命名会更容易:

var myList = new List<(double d,int i)>
             {
                 (100, 10),
                 (100.50 , 12),
                 (101 , 14),
                 (101.50 , 16)
             };

var results = myList.Where(x => x.d>101 && x.i>6);

没有你必须写的名字

var results = myList.Where(x => x.Item1>101 && x.Item2>6);

C# 7.3 添加了元组相等但没有比较。你现在可以写:

var result = myList.Where(d=>d == (101,14));

var result = myList.Where(d=>d != (101,14));

但不是

var result = myList.Where(d=>d > (101,14));
于 2018-07-19T15:17:35.200 回答