我是一名學生,試圖構建一個捕獲復雜資訊的程式。有一個基類和 2 個從基類繼承的類(MultiUnits 和 SingleFamily)。我有這個程式可以使用預加載的值,但我希望能夠輸入來自用戶的資料。如何在程式運行時更改陣列的大小,或者如何使用串列來存盤相同的資料。
我嘗試將資料存盤在串列中并且它可以作業,但是當我在其上運行 for each 回圈時,我收到以下錯誤:
CS1579 foreach 陳述句無法對“SingleFamily”型別的變數進行操作,因為“SingleFamily”不包含“GetEnumerator”的公共實體或擴展定義
public partial class HousingPresentationGUI : Form
{
SingleFamily[] privateHome;
MultiUnits[] multi;
public HousingPresentationGUI()
{
InitializeComponent();
}
private void HousingPresentationGUI_Load(object sender, EventArgs e)
{
privateHome = new SingleFamily[5];
privateHome[0] = new SingleFamily("34 Winston Street", 3, 2, 900.00m);
privateHome[1] = new SingleFamily("5234 Carolina Ave", 2, 2, 850.00m);
privateHome[2] = new SingleFamily("54 Magnolia Court", 4, 2, 1150.00m);
privateHome[3] = new SingleFamily("6910 Reiley", 3, 2, 1000.00m);
privateHome[4] = new SingleFamily("76 St. Johns Ct.", 3, 2, 1000.00m);
foreach (SingleFamily homes in privateHome)
{
lstBxSingle.Items.Add(homes.Address);
}
multi = new MultiUnits[2];
multi[0] = new MultiUnits("8674 Victoria Lane", 2, 750.00m);
multi[1] = new MultiUnits("9724 Bridge Street", 2, 700.00m);
foreach (MultiUnits duplex in multi)
{
lstBxMulti.Items.Add(duplex.Address);
}
}
private void cmboTypeOfRental_SelectedIndexChanged(object sender, EventArgs e)
{
lblRentalDetails.Text = "";
lblInstructions.Visible = true;
if (cmboTypeOfRental.SelectedIndex == 0)
{
lstBxSingle.Visible = true;
lstBxMulti.Visible = false;
}
else
{
lstBxSingle.Visible = false;
lstBxMulti.Visible = true;
}
}
private void lstBxMulti_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (MultiUnits duplex in multi)
{
if (duplex.Address == lstBxMulti.SelectedItem.ToString())
lblRentalDetails.Text = duplex.ToString();
}
}
private void lstBxSingle_SelectedIndexChanged(object sender, EventArgs e)
{
foreach (SingleFamily home in privateHome)
{
if (home.Address == lstBxSingle.SelectedItem.ToString())
lblRentalDetails.Text = home.ToString();
}
}
}
uj5u.com熱心網友回復:
代替 SingleFamily[] 使用 List 而不是 MultiUnits[] 使用 List
public partial class HousingPresentationGUI : Form
{
List<SingleFamily> privateHome = new List<SingleFamily>();
List<MultiUnits> multi= new List<MultiUnits>();
public HousingPresentationGUI()
{
InitializeComponent();
}
private void HousingPresentationGUI_Load(object sender, EventArgs e)
{
privateHome.Add(new SingleFamily("34 Winston Street", 3, 2, 900.00m));
....etc etc add the other private homes
foreach (SingleFamily homes in privateHome)
{
lstBxSingle.Items.Add(homes.Address);
}
multi.Add(new MultiUnits("8674 Victoria Lane", 2, 750.00m));
multi.Add(new MultiUnits("9724 Bridge Street", 2, 700.00m));
foreach (MultiUnits duplex in multi)
{
lstBxMulti.Items.Add(duplex.Address);
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/454928.html
