поиск в списке <> - PullRequest
       27

поиск в списке <>

0 голосов
/ 07 октября 2009

у меня есть List<Order>

public int OrderID { get; set; }
public string CustID { get; set; }
public string Details { get; set; }

Я хочу написать метод, который принимает ID, затем ищет в этом Списке совпадающие записи с тем же CustID и возвращает ORderID и Подробности в List<>

Ответы [ 3 ]

2 голосов
/ 07 октября 2009

Будет получена последовательность объектов Order, соответствующих критериям:

var ordersIWant = myList.Where(order => order.CustID == "some customer ID");
1 голос
/ 07 октября 2009
    public List<Order> Get(string id)
    {
        List<Order> orders = new List<Order>(); // pass this in as a param or globally refer to it

        var query = from o in orders
                    where o.CustID == id
                    select o;
        return query.ToList();            
    }

Или, если вы хотите специально вернуть только эти два поля, может быть что-то вроде:

public class Order : IOrderDetails
    {
        public int OrderID { get; set; }
        public string CustID { get; set; }
        public string Details { get; set; }
    }

    public interface IOrderDetails
    {
        int OrderID { get; set; }
        string Details { get; set; }
    }

    public List<IOrderDetails> Get(string id)
    {
        List<Order> orders = new List<Order>(); // pass this in as a param or globally refer to it

        var query = from o in orders
                    where o.CustID == id
                    select o as IOrderDetails;
        return query.ToList();
    }
0 голосов
/ 07 октября 2009

Предполагая, что перечисленные вами свойства принадлежат классу.

string searchId="15";

  var list = (from item in myList 
              where item.OrderId == searchId 
              select new {OrderId= item.OrderId,Details = item.Details }).ToList();

Только что написал без компиляции ... удачи.

Поскольку вам нужны только OrderID и Details, я вернул анонимный объект. Может также просто вернуть item.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...