在列表中查找方法
本文关键字:方法 查找 列表 | 更新日期: 2023-09-27 18:36:36
这是我的列表
public string state { get; set; }
public string city { get; set; }
public Point p1 { get; set; }
public Point p2 { get; set; }
public List<Explorer> line = new List<Explorer>();
public List<Explorer> rectangle = new List<Explorer>();
public List<Explorer> ellipse = new List<Explorer>();
这是我向列表代码添加元素
line.Add(new Explorer
{
state = "AAAA",
city = "BBB",
p1 = start,
p2 = end
});
与州和城市的价值观相关,我需要找到它们位置的点。
可以使用 LINQ 筛选列表/检索所需的项:
使用位置
line.Where(e => e.state == "AAAA" && e.city == "BBB")
使用单个/单个或默认值/第一个/第一个或默认值
line.SingleOrDefault(e => e.state == "AAAA" && e.city == "BBB")
如果仅对点感兴趣,则可以使用"选择投影"
var points = line.Where(e => e.state == "AAAA" && e.city == "BBB")
.Select(e=>Tuple.Create(e.p1, e.p2))
.Single();
你能试试
吗 line.Where(l=>l.state == "whatever" && l.city == "whatever").
Select(p=> new() { point1 = p.p1, point2 = p.p2 }).ToList()
如果您有如下资源管理器类列表,
List<Explorer> myList;
var result = myList.SingleOrDefault(d=> d.state="somthing" && d.city="Soemthing");
// access result.points here.