0

这是我的清单

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
            });

与州和城市的价值相关,我需要找到它们的位置点。

4

3 回答 3

1

你能试一下吗

  line.Where(l=>l.state == "whatever" && l.city == "whatever").
       Select(p=> new() { point1 = p.p1, point2 = p.p2 }).ToList() 
于 2012-06-08T06:25:10.187 回答
1

您可以使用 LINQ 过滤您的列表/检索您想要的项目:

使用在哪里

line.Where(e => e.state == "AAAA" && e.city == "BBB")

使用Single/SingleOrDefault/First/FirstOrDefault

line.SingleOrDefault(e => e.state == "AAAA" && e.city == "BBB")

如果您只对点感兴趣,则可以使用Select投影

var points = line.Where(e => e.state == "AAAA" && e.city == "BBB")
                    .Select(e=>Tuple.Create(e.p1, e.p2))
                    .Single();
于 2012-06-08T06:42:33.213 回答
0

如果您有如下资源管理器类列表,

List<Explorer> myList;

var result = myList.SingleOrDefault(d=> d.state="somthing" && d.city="Soemthing");

// access result.points here.
于 2012-06-08T06:26:46.177 回答