如何使Value不能为null



我有一个类似的方法

public List<GSMData> GetGSMList()
        {
            return meters.Select(x => x.Gsmdata.Last())
                         .ToList();
        }

我得到了一个"Value不能为null"的示例。如何使其值为null?

GSMData对象

public class GSMData : Meter
    {
        public DateTime TimeStamp { get; set; }
        public int SignalStrength { get; set; }
        public int CellID { get; set; }
        public int LocationAC { get; set; }
        public int MobileCC { get; set; }
        public int MobileNC { get; set; }
        public string ModemManufacturer { get; set; }
        public string ModemModel { get; set; }
        public string ModemFirmware { get; set; }
        public string IMEI { get; set; }
        public string IMSI { get; set; }
        public string ICCID { get; set; }
        public string AccessPointName { get; set; }
        public int MobileStatus { get; set; }
        public int MobileSettings { get; set; }
        public string OperatorName { get; set; }
        public int GPRSReconnect { get; set; }
        public string PAP_Username { get; set; }
        public string PAP_Password { get; set; }
        public int Uptime { get; set; }
    }

您最好检查Gsmdata是否有项目或是否有

public List<GSMData> GetGSMList()
        {
            return meters.Where(x=>x.Gsmdata!=null && x.Gsmdata.Any()).Select(x => x.Gsmdata.Last())
                         .ToList();
        }

我猜您的Gsmdata属性是null

在这种情况下,您可以使用Linq .Where()方法来制作:

    public List<GSMData> GetGSMList()
    {
        return meters.Where(x => x.Gsmdata != null)
                     .Select(x => x.Gsmdata.Last())
                     .ToList();
    }

但是,为了得到更好的答案,你应该澄清什么是无效的。

尝试在执行选择之前立即过滤列表以排除空项。

公共列表GetGSMList(){返回仪表。其中(x=>x.Gsmdata!=null)。选择(x=>x.Gsmdata.Last()).ToList();}

相关内容

  • 没有找到相关文章

最新更新