【问题标题】:Add child to class properties in for cycle在for循环中将子级添加到类属性
【发布时间】:2014-05-26 15:17:43
【问题描述】:

我在从 AddressElement 对象中添加子元素时遇到问题

我的测试课:

    public class AddressElement
    {
       public AddressElement[] AddressElement1 { get; set; }
       public string PostIndex { get; set; }

    }

我的测试界面:

    public interface IAddress
    {
      string PostIndex { get; }
    }

    private AddressElement CreateAddressElement(IAddress address)
            {
                return new AddressElement
                {                
                    PostIndex = address.PostIndex                
                };
            }

    private int startIndex = 0;
    private int finalIndex = 5;

获取元素方法:

private AddressElement[] GetAddressElements(列表地址,int startIndex,int finalIndex) { 列表地址元素 = new List();

for (int i = startIndex; i < finalIndex; i++)
            {
if (i == startIndex)
                {
 addressElements.Add(CreateAddressElement(addresses[i]));

if (i != startIndex )
                {
 AddressElement addressElement = addressElements[startIndex];
addressElements[startIndex].AddressElement1 = new[] { CreateAddressElement(addresses[i]) };    

}

    I need add all subelements of AddressElement in for cycle: addressElements[startIndex].AddressElement1[startIndex].AddressElement1[startIndex].AddressElement1[startIndex].AddressElement1[startIndex]....

【问题讨论】:

  • 抱歉,你真正想要达到什么目的?

标签: c# for-loop


【解决方案1】:

您可以使用 Linq 来做到这一点:

private AddressElement[] GetAddressElements(List addresses, int startIndex, int finalIndex) {

  return addresses.Skip(startIndex).Take(finalIndex - startIndex).Select(s => CreateAddressElement(s)).ToArray() ; 
}

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2011-01-16
    • 1970-01-01
    • 2021-01-26
    • 2012-08-29
    • 2020-07-21
    • 1970-01-01
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多