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 に答える