C# 无法将类型“System.Collections.ArrayList”隐式转换为“BookReservationRQReservation[]
我有一个ArrayList,我想在其中添加项目,然后用bookingrquest分配它。预订我尝试了几次,但没有找到解决方案,如何将ArrayList转换为BookReservationRQReservation[]C# 无法将类型“System.Collections.ArrayList”隐式转换为“BookReservationRQReservation[],c#,arraylist,types,C#,Arraylist,Types,我有一个ArrayList,我想在其中添加项目,然后用bookingrquest分配它。预订我尝试了几次,但没有找到解决方案,如何将ArrayList转换为BookReservationRQReservation[] BookReservationRQ bookingrquest = new BookReservationRQ(); ArrayList reservation = new ArrayList(); int count = 0; foreach (var item
BookReservationRQ bookingrquest = new BookReservationRQ();
ArrayList reservation = new ArrayList();
int count = 0;
foreach (var item in reservation_details.selectedrooms)
{
reservation.Add(item.IDHotel);
count++;
}
bookingrquest.Reservations = reservation;// i have this error in this line
public BookReservationRQReservation[] Reservations {
get {
return this.reservationsField;
}
set {
this.reservationsField = value;
}
}
由于您的请求对象需要一个数组,那么通过替换以下内容直接对数组进行uzing如何:
ArrayList reservation = new ArrayList();
与
假设reservation_details.selected是一个列表
然后更换
reservation.Add(item.IDHotel);
与
在for循环之前,初始化iter=0好吧,似乎您将bookingrquest.Reservations定义为BookReservationRQReservation的数组,这与包含IDHotel项目的arraylist不同。你试着创建一个BookReservationRQReservation数组怎么样?IDHotel是什么类型的?这是预订吗?@RenéVogt IDHotel仍然存在这不是问题,问题出在预订请求上。预订=预订;当然,这也是问题的一部分。不能将字符串放入BookReservationRQReservations数组中。如何用字符串创建BookReservationRQReservation?@RenéVogt我用BookReservationRQReservation更新了问题,除非从字符串到BookReservationRQReservation进行隐式转换,否则不会编译该问题。OP说IDHotel是字符串类型,而不是BookReservationRQReservation。@ReneéVogt,在回答时,该评论不可用。第二,在投赞成票或反对票之前,我试着弄清楚我的意图。如果它是字符串类型,那么最后替换的语句可以根据我所知得到增强,这就是为什么我让OP澄清而不是猜测这个问题最重要的信息。
reservation.Add(item.IDHotel);
reservation[iter++] = item.IDHotel;