gpt4 book ai didi

c# - 无法转换为类型 System.IConvertible

转载 作者:太空宇宙 更新时间:2023-11-03 15:48:10 26 4
gpt4 key购买 nike

我在尝试为组合框设置数据源时遇到问题。我收到错误无法转换为类型 System.IConvertible。它说这是因为我有一个 System.Convert.ToInt32(object value) 但我正在将该对象转换为一个 int。我似乎无法弄清楚如何解决这个问题。

当我在另一个组合框中选择一个项目时,数据源必须触发。这是 SelectIndex 事件,我在其中尝试转换对象并尝试填充组合框。

private void cbBookedSeatMovTime_SelectedIndexChanged(object sender, EventArgs e)
{
ServiceReferenceMovieRunTime.MovieRunTimeServiceClient movRunService = new ServiceReferenceMovieRunTime.MovieRunTimeServiceClient();
ServiceReferenceSeats.SeatsServiceClient seatService = new ServiceReferenceSeats.SeatsServiceClient();

string _selectedMovName = Convert.ToString(cbBookedSeatMovInfo.SelectedValue);
string _selectedMovDate = Convert.ToString(cbBookedSeatMovDate.SelectedValue);
string _selectedMovTime = Convert.ToString(cbBookedSeatMovTime.SelectedValue);

int _runTimeId = Convert.ToInt32(movRunService.GetRunTimeOnNameDateAndTime(_selectedMovName, _selectedMovDate, _selectedMovTime));


cbRow1.DataSource = seatService.GetRowsOnRunTime(_runTimeId);
cbRow1.ValueMember = "id";
cbRow1.DisplayMember = "rowId";

}

获取seatService.GetRowsOnRunTime();我必须输入一个整数。我从其他三个组合框获取的那个 int 并放入服务 movieRunService.GetRunTimeOnNameDateAndTime() 中,这需要三个字符串 cbBookedSeatMovInfo.SelectedValue、cbBookedSeatMovDate.SelectedValue 和 cbBookedSeatMovTime.SelectedValue。

我不明白为什么我不能将对象转换为 int32?你们能帮帮我吗?

谢谢!

最佳答案

这里的问题是您正在尝试将 MovieRunTime 列表转换为整数。

您必须获取列表中的第一个元素,然后获取您需要的整数值。

    string _selectedMovName = Convert.ToString(cbBookedSeatMovInfo.SelectedValue);
string _selectedMovDate = Convert.ToString(cbBookedSeatMovDate.SelectedValue);
string _selectedMovTime = Convert.ToString(cbBookedSeatMovTime.SelectedValue);

//declare list of MovieRunTime and store your results

list<MovieRunTime> myList= movRunService.GetRunTimeOnNameDateAndTime(_selectedMovName, _selectedMovDate, _selectedMovTime);

//check if your list is not null and if has items

if (myLista != null && myLista.count > 0) {
{

MovieRunTime firstElement = myList[0];

int _runTimeId = firstElement.IdValue;

cbRow1.DataSource = seatService.GetRowsOnRunTime(_runTimeId);
cbRow1.ValueMember = "id";
cbRow1.DisplayMember = "rowId";

}

关于c# - 无法转换为类型 System.IConvertible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27172584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com