使用2个组合框形成GUI,以检查Web方法中的布尔数组
本文关键字:方法 Web 检查 数组 布尔 组合 2个 GUI 使用 | 更新日期: 2023-09-27 18:36:26
嗨,我找不到一种方法来让网络方法检查组合框中的选定位置是否为假。 组合框是选择一个码头和一个系泊。 在数组中,tru 被取假是自由的。好吧,这就是我希望会发生的)。这里有一些网络方法我完成了。
编辑我需要编写一个从 2 个组合框中调用 2 个整数的网络美化,然后检查数组中的该插槽是否可用。 如果它不空闲,请选择下一个可用的插槽。 该阵列用于码头和系泊设备。
[WebMethod]
public ReserveMooringResponse getMooring(ReserveMooringRequest req)
{
var resv = new ReserveMooringResponse();
int pier = 0;
int mooring = 0;
bool checkSeat = false;
string firstName;
bool[,] mooringArray = new bool[,] {{ true, false, true, false, true}, //pier 1
{true, false, false, true, true}, //pier 2
{false, true, true, false, true}, //pier 3
{false, false, true, false, true}, //pier 4
{true, false, false, true, true}, //pier 5
{true, true, false, false, false}}; //pier 6
return resv;
}
我希望
我了解您正在做的事情。 基本上,您需要一个递归来测试您的阵列的码头和系泊。 如果为真,则保留系泊设备,如果为假,则继续寻找一个开放的系泊设备。
一些假设:
-
ReserveMooringResponse
是一个具有 2 个属性的类,码头和系泊。 -
ReserveMooringRequest
是一个具有 2 个属性的类,码头和系泊。 - 请注意,我对码头和系泊设备进行了硬编码。 您可以将其替换为
(int)combobox1.SelectedValue
和(int)combobox2.SelectedValue
- 我将
WebMethod
属性移动到CheckReservation
方法。
这是代码:
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
var pier = 3;
var mooring = 3;
//set up client
var service = new Service1();
var resv = service.CheckReservation(pier, mooring);
label1.Text = string.Format("Reservation for Pier {0} and Mooring {1} confirmed.", resv.Pier, resv.Mooring);
}
}
public class Service1 : System.Web.Services.WebService
{
bool[,] mooringArray = new bool[,] {{ true, false, true, false, true}, //pier 1
{true, false, false, true, true}, //pier 2
{false, true, true, false, true}, //pier 3
{false, false, true, false, true}, //pier 4
{true, false, false, true, true}, //pier 5
{true, true, false, false, false}}; //pier 6
public ReserveMooringResponse getMooring(ReserveMooringRequest req)
{
var resv = new ReserveMooringResponse();
if (req.mooring > 4)
{
req.mooring--;
req.pier++;
}
resv.Pier = req.pier;
resv.Mooring = req.mooring;
if (!mooringArray[req.pier, req.mooring])
{
var mooring = req.mooring;
mooring++;
resv = this.getMooring(new ReserveMooringRequest
{
mooring = mooring,
pier = req.pier
});
}
mooringArray[resv.Pier, resv.Mooring] = false;
return resv;
}
[WebMethod]
public ReserveMooringResponse CheckReservation(int pier, int mooring)
{
var req = new ReserveMooringRequest
{
pier = pier,
mooring = mooring
};
return this.getMooring(req);
}