2013-12-18 51 views
0
我有一个用户定义泛型列表

如何使用使用LINQ声明

public class DoctorsData 
{ 
    string _doctorName; 
    public string DoctorName { get { return _doctorName; } } 

    string _doctorAge; 
    public string DoctorAge { get { return _doctorAge; } } 

    string _doctorCity; 
    public string DoctorCity 
    { 
     get { return _doctorCity; } 
     set { _doctorCity = value; } 
    } 

    string _doctorDesc; 
    public string desc 
    { 
     get 
     { 
      return _doctorDesc; 
     } 
     set 
     { 
      _doctorDesc = value; 
     } 
    } 

    public DoctorsData(string doctorname, string doctorage, string doctorcity, string doctordesc) 
    { 
     _doctorName = doctorname; 
     _doctorAge = doctorage; 
     _doctorCity = doctorcity; 
     _doctorDesc = doctordesc; 
    } 
} 

而下面的代码是用于将数据添加到列表

从集合中删除: -

List<DoctorsData> doctorlist = new List<DoctorsData>(); 
doctorlist.Add(new DoctorsData("mukesh", "32","sirsa","aclass")); 
doctorlist.Add(new DoctorsData("rajesh", "29","hisar","bclass")); 
doctorlist.Add(new DoctorsData("suresh", "25","bangalore","cclass")); 
doctorlist.Add(new DoctorsData("vijay", "24","bangalore","cclass")); 
doctorlist.Add(new DoctorsData("kumar anna", "40","trichi","aclass")); 

我的要求是我要删除年龄小于30岁的所有医生条目。我们可以如何使用LINQ执行此操作。

回答

2

试试这个:

doctorList.RemoveAll(doctor => int.Parse(doctor.DoctorAge) < 30); 

您可以添加一些额外的检查,以确保DoctorAge可以被解析为整数

+0

感谢此代码正在工作 –

1
int age = 0 
doctorList.RemoveAll(D => int.TryParse(D.DoctorAge,out age) && age < 30); 

希望这会有所帮助。

+0

感谢此代码工作 –