不明白"不包含'GetEnumerator'的公开定义""

Lor*_*ion 0 c# class

我不明白我是如何解决这个问题的.我有两个foreach循环:

foreach (deviceDetailsModel.Detail d in ddm.device.details)
{
    foreach (deviceDetailsModel.Entry e in d)
    {
        //TODO
    }
}
Run Code Online (Sandbox Code Playgroud)

在2日for循环我得到does not contain a public definition for 'GetEnumerator'错误.我究竟做错了什么?

这是班级:

public class deviceDetailsModel
{
    public int totalCount { get; set; }
    public string messages { get; set; }
    public Device device { get; set; }

    public class Entry
    {
        public string key { get; set; }
        public object value { get; set; }
    }

    public class Detail
    {
        public List<Entry> entry { get; set; }
    }

    public class Device
    {
        public string @id { get; set; }
        public string uuid { get; set; }
        public string principal { get; set; }
        public int blockReason { get; set; }
        public int clientId { get; set; }
        public string comment { get; set; }
        public int compliance { get; set; }
        public int countryCode { get; set; }
        public int countryId { get; set; }
        public string countryName { get; set; }
        public string createdAt { get; set; }
        public string currentPhoneNumber { get; set; }
        public List<Detail> details { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

And*_*ker 9

我想你的意思是:

deviceDetailsModel.Entry e in d.entry
Run Code Online (Sandbox Code Playgroud)

代替.

您收到错误是因为d(可能是Detail该类的一个实例)没有实现IEnumerable.您可能想要枚举该entry属性.