包含半个元组
Contains half a tuple
如何检查列表是否包含元组部分匹配项?
var tuples = new List<(int, int)>( new [] { (1, 1), (1, 2), (3, 4), (4, 2) } );
tuples.Contains((3, _));
使用 Linq:
var tuples = new List<(int, int)>(new[] { (1, 1), (1, 2), (3, 4), (4, 2) });
if (tuples.Any(x => x.Item1 == 3))
{
//....
}
您可以编写自定义 Contains
函数,但 .Where
也能正常工作:
using System.Linq;
[...]
tuples.Where(tup => tup.Item1 == 3);
您可以使用模式匹配 is
运算符,它非常接近您想要的语法:
tuples.Any(x => x is (3, _));
如何检查列表是否包含元组部分匹配项?
var tuples = new List<(int, int)>( new [] { (1, 1), (1, 2), (3, 4), (4, 2) } );
tuples.Contains((3, _));
使用 Linq:
var tuples = new List<(int, int)>(new[] { (1, 1), (1, 2), (3, 4), (4, 2) });
if (tuples.Any(x => x.Item1 == 3))
{
//....
}
您可以编写自定义 Contains
函数,但 .Where
也能正常工作:
using System.Linq;
[...]
tuples.Where(tup => tup.Item1 == 3);
您可以使用模式匹配 is
运算符,它非常接近您想要的语法:
tuples.Any(x => x is (3, _));