如何使用LINQ查询泛型集合

use*_*926 4 c# generics

我想知道LINQ通用集合的方法.

我的客户类是

 class Customer
    {
        public string Name { get; set; }
        public string id { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

我的收藏课是

class genericCollection<T> : CollectionBase
{
    public void add(T GenericObject)
    {
        this.List.Add(GenericObject);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我将一些数据添加到客户集合中

  genericCollection<Customer> customers = new genericCollection<Customer>();
  customers.add(new Customer {id= "1",Name="Andy"});

  customers.add(new Customer { id = "2", Name = "MArk" });
  customers.add(new Customer { id = "3", Name = "Jason" });
  customers.add(new Customer { id = "4", Name = "Alex" });
Run Code Online (Sandbox Code Playgroud)

现在我可以使用foreach循环遍历客户对象,但我怎么能知道它.

我想用类似的东西

var query =  from c in customers
             select c;
Run Code Online (Sandbox Code Playgroud)

但我无法成功施展它.

此致,Sab

Nuf*_*fin 5

尝试将您的查询更改为以下(假设您的CollectionBase工具IEnumerable):

var query = from c in customers.OfType<Customer>() select c;
Run Code Online (Sandbox Code Playgroud)

或者让你的genericCollection<T>工具IEnumerable<T>