Я делаю заявку на хранение билетов на посадку в место для воображаемой авиакомпании. Я создал класс билетов смотрите нижеТип, используемый как переменная ошибка
public class ticket
{
String lastName;
String firstName;
String origin;
String destination;
String flightNumber;
String seatNumber;
String date;
public ticket()
{
}
public ticket(String lastname, String firstName, String origin, String destination,
String flightNumber, String seatNumber, String date)
{
}
У меня есть два класса билета, первых и экономика. Самолет может вмещать только 10 мест. Таким образом, моя структура имеет два массива объектов билета, один из которых содержит 4 билета объектов «первый класс» и один из которых содержит 6 предметов билета «эконом-класс». См. Ниже
ticket[] ticketFirst = new ticket[4];
ticket[] ticketEcon = new ticket[6];
Я должен назначить места в случайном порядке в пределах их соответствующих наборов билетов. Я вызываю метод get (пример ниже), чтобы проверить дубликаты, то есть, что случайно назначенное место уже заполнено или нет.
public String getLastName() { return this.lastName; }
Когда я запускаю свою программу, я получаю WindowsFormsApplication1.ticket Ошибка»является„тип“, но используется как„переменная“(соответствующий код ниже)
private void btnSubmit_Click(object sender, EventArgs e)
{
Random random = new Random();
int rand = random.Next(0, 4);
if (ticket[rand].getLastName = null)
{
ticket[rand].setLastName = txbLastName.Text;
ticket[rand].setFirstName = txbFirstName.Text;
ticket[rand].setOrigin = txbOrigin.Text;
ticket[rand].setDestination = txbDestination.Text;
ticket[rand].setFlightNumber = txbFlightNumber.Text;
ticket[rand].setSeatNumber = txbSeatNumber.Text;
ticket[rand].setDate = txbDate.Text;
}
else
{
MessageBox.Show("Seat Assignment Failed, try again.", "Seat Assignment");
}
}
Что мое намерение заключалось в том, чтобы присвоить новому объекту билета случайное место (положение) в массиве, и большая часть моего опыта связана с java. Я думаю, что это синтаксическая ошибка от меня, используя синтаксис, подобный Java. Любые указатели, чтобы заставить это работать правильно?
Полная программа Ниже
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ticket[] ticketFirst = new ticket[4];
ticket[] ticketEcon = new ticket[6];
}
private void btnSubmit_Click(object sender, EventArgs e)
{
Random random = new Random();
int rand = random.Next(0, 4);
if (ticket[rand].getLastName = null)
{
ticket[rand].setLastName = txbLastName.Text;
ticket[rand].setFirstName = txbFirstName.Text;
ticket[rand].setOrigin = txbOrigin.Text;
ticket[rand].setDestination = txbDestination.Text;
ticket[rand].setFlightNumber = txbFlightNumber.Text;
ticket[rand].setSeatNumber = txbSeatNumber.Text;
ticket[rand].setDate = txbDate.Text;
}
else
{
MessageBox.Show("Seat Assignment Failed, try again.", "Seat Assignment");
}
}
}
public class ticket
{
String lastName;
String firstName;
String origin;
String destination;
String flightNumber;
String seatNumber;
String date;
public ticket()
{
}
public ticket(String lastname, String firstName, String origin, String destination,
String flightNumber, String seatNumber, String date)
{
}
public void setLastName(String lastName)
{
this.lastName = lastName;
}
public String getLastName()
{
return this.lastName;
}
public void setFirstName(String firstName)
{
this.firstName = firstName;
}
public String getFirstName()
{
return this.firstName;
}
public void setOrigin(String origin)
{
this.origin = origin;
}
public String getOrigin()
{
return this.origin;
}
public void setDestination(String destination)
{
this.destination = destination;
}
public String getDestination()
{
return this.destination;
}
public void setFlightNumber(String flightNumber)
{
this.flightNumber = flightNumber;
}
public String getFlightNumber()
{
return this.flightNumber;
}
public void setSeatNumber(String seatNumber)
{
this.seatNumber = seatNumber;
}
public String getSeatNumber()
{
return this.seatNumber;
}
public void setDate(String date)
{
this.date = date;
}
public String getDate()
{
return this.date;
}
}
}
Кроме вашей ошибки вы можете посмотреть на классы в [Generic пространство имен] (http://msdn.microsoft.com/ en-us/library/system.collections.generic (v = vs.110) .aspx), они лучше, чем массивы. Также вы можете посмотреть [Автореализованные свойства] (http://msdn.microsoft.com/en-us/library/vstudio/bb384054.aspx) –