用作变量错误的类型

use*_*031 5 c# winforms

我正在申请存储为假想的航空公司登机的门票.我创建了一个Ticket类,见下文

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)
    {

    }
Run Code Online (Sandbox Code Playgroud)

我有两个门票类,第一个和经济舱.这架飞机只能容纳10个座位.所以我的结构有两个票对象数组,一个包含4个票对象"第一类",另一个包含6个票证对象"经济类".见下文

 ticket[] ticketFirst = new ticket[4];
 ticket[] ticketEcon = new ticket[6];
Run Code Online (Sandbox Code Playgroud)

我必须在各自的票证阵列中随机分配座位.我正在调用我的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");
    }
}
Run Code Online (Sandbox Code Playgroud)

我的目的是将新的票证对象分配给数组中的随机座位(位置),我的大部分经验都是使用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;
    }
    }    
    }   
Run Code Online (Sandbox Code Playgroud)

Jas*_*own 8

ticket[rand]需要成为ticketFirst[rand]或者ticketEcon[rand].它们还需要在Form1构造函数之外定义,以便能够在表单中的其他位置访问它们.

例如

public partial class Form1 : Form
{
    ticket[] ticketFirst = new ticket[4];
    ticket[] ticketEcon = new ticket[6]; 

    public Form1()
    {
        InitializeComponent();
        ticketFirst = new ticket[4];
        ticketEcon = new ticket[6];  
    }

    private void btnSubmit_Click(object sender, EventArgs e)
    {
        Random random = new Random();
        int rand = random.Next(0, 4);
        if (ticketFirst[rand].getLastName = null)
        {
            ticketFirst[rand].setLastName = txbLastName.Text;
            ticketFirst[rand].setFirstName = txbFirstName.Text;
            ticketFirst[rand].setOrigin = txbOrigin.Text;
            ticketFirst[rand].setDestination = txbDestination.Text;
            ticketFirst[rand].setFlightNumber = txbFlightNumber.Text;
            ticketFirst[rand].setSeatNumber = txbSeatNumber.Text;
            ticketFirst[rand].setDate = txbDate.Text;
        }
        else
        {                
            MessageBox.Show("Seat Assignment Failed, try again.", "Seat Assignment");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)