Csharp/C#教程:动态构建Web服务的数组分享


动态构建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

(0)
上一篇 2022年1月29日
下一篇 2022年1月29日

精彩推荐