Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何向另一个类的列表中的类添加序列ID?_C# - Fatal编程技术网

C# 如何向另一个类的列表中的类添加序列ID?

C# 如何向另一个类的列表中的类添加序列ID?,c#,C#,我有以下课程。父类的内部是ParentDetail的列表。现在我需要向ParentDetail类添加一个新字段。该字段名为Id。我需要的是主类中的一个方法,该方法将遍历ParentDetails并使用从1开始的数字填充Id字段 有人能想出一个简单的方法吗?我不知道如何反复浏览这个列表 public class Parent { public IList<ParentDetail> ParentDetails { get { return _Pa

我有以下课程。父类的内部是ParentDetail的列表。现在我需要向ParentDetail类添加一个新字段。该字段名为Id。我需要的是主类中的一个方法,该方法将遍历ParentDetails并使用从1开始的数字填充Id字段

有人能想出一个简单的方法吗?我不知道如何反复浏览这个列表

public class Parent {
        public IList<ParentDetail> ParentDetails {
            get { return _ParentDetails; }
        }
        private List<ParentDetail> _ParentDetails = new List<ParentDetail>();
        public Parent() {
            this._ParentDetails = new List<ParentDetail>();
        }
    }

    public class ParentDetail {
        public int Id { get; set; }  <<<<<<<< new field
    }

}
公共类父类{
公共图书馆的详细信息{
获取{return\u ParentDetails;}
}
私有列表_ParentDetails=新列表();
公共家长(){
这是。_ParentDetails=new List();
}
}
公共类ParentDetail{
公共int Id{get;set;}
for(int i=0;i<\u ParentDetails.Count;i++)
{
_ParentDetails[i].Id=i+1;
}

可以像Roy Dictus(+1)所建议的那样,对(int i;i,我只是把它作为一个替代方法,这在不知道可枚举数的情况下非常有用

foreach(var detail in _ParentDetails.
  Select((d, i) => new { Item = d, Index = i + 1})
{
  detail.Item.Id = detail.Index;
}

在你的例子中,你是这样做的;因为你有一个
IList

实际上,@Roy-那需要是
i+1
:)
foreach(var detail in _ParentDetails.
  Select((d, i) => new { Item = d, Index = i + 1})
{
  detail.Item.Id = detail.Index;
}