日期:2014-05-17  浏览次数:20806 次

C# 筛选LIst对象数据,将筛选的数据填充到另一个list对象,急~~~
页面是四个多选按钮,传到后台的是布尔值,后台根据四个布尔值进行筛选LIst对象,的然后将其筛选的数据填充到另一个list对象返回给页面,我自己写的太复杂了,请大家帮我看看有什么别的方法没有,谢谢!

  public List<SysDisk> DeserializeList(bool Ready, bool Failed, bool Online, bool Other)
    {
        string path = OutFile + @"\Disk.bin";
        IFormatter formatter = new BinaryFormatter();
        FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
        fs.Seek(0, 0);
        infoList = formatter.Deserialize(fs) as List<SysDisk>;//拿到数据的list

        List<SysDisk> DiskList = new List<SysDisk>();//填充筛选数据的list
        foreach (SysDisk item in infoList)
        {
            SysDisk disk = new SysDisk();
            if (Ready == true && Failed == true && Online == true && Other == true)
            {
                disk.IP = item.IP;
                disk.diskno = item.diskno;
                disk.diskname = item.diskname;
                disk.diskstates = item.diskstates;
                disk.diskSerial = item.diskSerial;
                disk.SpareState = item.SpareState;
                disk.RollUpStatus = item.RollUpStatus;
                disk.ComponentStatus = item.ComponentStatus;
                disk.UpdateTime = item.UpdateTime;
                DiskList.Add(disk);
            }
            else if (Ready == true && Failed == true)
            {
                if (item.diskstates == "Ready" || item.diskstates == "Failed")
                {
                    disk.IP = item.IP;
 &