构建动态列表c#

时间:2009-04-10 10:43:26

标签: c# list

此代码可正常用于进行Web服务调用:

int numberOfGuests = Convert.ToInt32(search.Guest);
var list = new List<Guest>();
Guest adult = new Guest();
adult.Id = 1;
adult.Title = "Mr";
adult.Firstname = "Test";
adult.Surname = "Test";
list.Add(adult);
Guest adult2 = new Guest();
adult2.Id = 2;
adult2.Title = "Mr";
adult2.Firstname = "Test";
adult2.Surname = "Test";
list.Add(adult2);

Guest[] adults = list.ToArray();

如何使用numberofguests变量动态构建列表来创建列表?输出必须与显示的输出完全匹配,否则Web服务调用失败,所以adult.id = 1,adult2.id = 2,adult3.id = 3等...

4 个答案:

答案 0 :(得分:4)

你知道循环吗?

for (int i = 1; i <= numberofGuests; i++) {
    var adult = new Guest();
    adult.Id = i;
    adult.Title = "Mr";
    adult.Firstname = "Test";
    adult.Surname = "Test";
    list.Add(adult)
}

这将循环中的代码从1运行到numberOfGuests,将变量i设置为当前值。

答案 1 :(得分:2)

Linq方式: - )

    var list = (from i in Enumerable.Range(1, numberOfGuests)
        select new Guest 
        {
          Id = i,
          Title = "Mr.",
          Firstname = "Test",
          Surname = "Test"
        }).ToList();

答案 2 :(得分:1)

您需要for loop。或者,更好的是,一本体面的C#书 - 这些都是C#的基础知识。

答案 3 :(得分:0)

您是否在询问如何动态显示列表?我不确定这里的问题是什么,因为其他答案说如果你知道numberofGuests的价值,那么你可以使用一个循环来浏览你的列表。

我怀疑你想知道如何获取这些信息,我是对的吗?如果你想动态地向页面添加控件(你以前的帖子建议这是ASP.Net我认为?),那么你只显示正确数量的控件然后看看这些相关的问题:

Dynamically adding controls in ASP.NET Repeater

ASP.NET - How to dynamically generate Labels