Bax*_*tex 0 c# string int implicit-conversion
这是我的代码:
\n\nnamespace Cinemaseats\n\n {public partial class MainForm : Form\n {\n private const int numOfSeats = 60;\n private int numOfReservedSeats = 0;\n Seat currentSeat = new Seat();\n public MainForm()\n {\n InitializeComponent();\n InitializeGUI();\n }\n\n private void InitializeGUI()\n {\n radioButton1.Checked = true;\n namn.Text = string.Empty;\n pris.Text = string.Empty;\n }\n private void button1_Click(object sender, EventArgs e)\n {\n **int seatNr = ReadAndValidateSeatNr();**\n\n if (seatNr < 0)\n {\n MessageBox.Show("V\xc3\xa4lj ett f\xc3\xb6rem\xc3\xa5l fr\xc3\xa5n listan");\n return;\n }\n\n if (radioButton2.Checked)\n ReserveSeat(seatNr);\n else\n CancelSeat(seatNr);\n\n UpdateGUI(seatNr);\n }\n\n public int GetnumOfSeats()\n {\n return numOfSeats;\n }\n\n **public int ReadAndValidateSeatNr()\n {\n thelist.Items.Add(test); //test\n return;\n }\n string test = Convert.ToString(2);\n}**\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n我已经将字符串“test”转换为 int,但 VS 仍然说返回值必须是 int?我想在我的列表框中显示 60 个“座位”,也就是说“座位 1”、“座位 2”等。我编写了一个测试字符串来查看是否可以使其工作。我不确定如何 getter和 setter 方法有效,但我想我在这里需要它们?
\n在您的ReadAndValidateSeatNr()
函数中,您不会返回任何内容:
public int ReadAndValidateSeatNr()
{
thelist.Items.Add(test); //test
return; //<--------- here nothing is being returned
}
Run Code Online (Sandbox Code Playgroud)
我的编译器给了我同样的错误:P
void
如果不需要返回任何内容,请将 return 更改为:
public void ReadAndValidateSeatNr()
{
thelist.Items.Add(test); //test
//return; redundant statement - not even required in this case
}
Run Code Online (Sandbox Code Playgroud)
如果您的要求类似于 1 for"Seat 1"
等 - 则选择枚举:
enum my_enum{ Seat1=1, Seat2= 2};
public int ReadAndValidateSeatNr()
{
switch(test)
{
case "Seat 1":
thelist.Items.Add(test); //test
return (int)my_enum.Seat1;
case "Seat 2":
thelist.Items.Add(test); //test
return (int)my_enum.Seat2;
}
}
Run Code Online (Sandbox Code Playgroud)