动态构建Web服务的数组
我正在使用C#和asp.net来查询Web服务。
用户将输入访客数量,然后我需要将该数量的访客添加到Web服务呼叫中。 像这样手动创建客人工作。
// Create room layout for searching Guest adult = new Guest(); adult.Id = 1; adult.Title = "Mr"; adult.Firstname = "Test"; adult.Surname = "Test"; Guest adult2 = new Guest(); adult2.Id = 2; adult2.Title = "Mr"; adult2.Firstname = "Test"; adult2.Surname = "Test"; Guest[] adults = new Guest[] { adult,adult2 };
用户在我的网站搜索页面上选择成人的数量,我不知道成人的数量,并希望能够将它们动态添加到Web服务调用。 我将收到这样的成年人数量
int numberofguests = Convert.ToInt32(search.Guest);
我尝试了很多方法,但无法让它发挥作用
List guests = new List (); for(int i=0; i
在这种情况下,我建议使用List而不是数组。 如果仍然需要将数组作为数组填充,则可以将其转换为数组。
所有其他答案都建议使用List
并且通常我同意 – 但在这种情况下确实没有必要,因为它似乎事先知道大小:
Guest[] guests = new Guest[numberOfGuests]; for (int i=0; i < numberOfGuests; i++) { Guest guest = new Guest(); // Fill in information about the guest here // based on the web form guests[i] = guest; }
这并不是说你不应该使用List
如果它在任何方面都更方便 - 只是使用List
的(可能)最大的好处是你不需要知道大小预先。 因为这里没有相关性(除非我遗漏了什么),没有多少理由使用列表。
而不是使用原始数组,为什么不使用ArrayList或List
var list = new List(); 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();
我建议你使用List
。 您可以在创建时使用访客数初始化大小,但这实际上只是一种优化。 如果您想稍后添加更多访客,则可以执行此操作,并且List
将根据需要resize。
如果您希望由于某种原因将列表转换为数组,则List
具有ToArray()
方法。
上述就是C#学习教程:动态构建Web服务的数组分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1042021.html