到目前為止,這是我的代碼:
public static void FillArray(int[,,,] array)
{
List<string> BusCompany = new List<string>();
BusCompany.Add("Sample Company 1");
BusCompany.Add("Sample Company 2");
BusCompany.Add("Sample Company 3");
BusCompany.Add("Sample Company 4");
BusCompany.Add("Sample Company 5");
List<string> Route = new List<string>();
BusCompany.Add("Sample Route 1");
BusCompany.Add("Sample Route 2");
List<string> Bus = new List<string>();
BusCompany.Add("Sample Bus 1");
BusCompany.Add("Sample Bus 2");
List<string> Seat = new List<string>();
BusCompany.Add("Seat 1");
BusCompany.Add("Seat 2");
BusCompany.Add("Seat 3");
BusCompany.Add("Seat 4");
BusCompany.Add("Seat 5");
BusCompany.Add("Seat 6");
BusCompany.Add("Seat 7");
BusCompany.Add("Seat 8");
BusCompany.Add("Seat 9");
BusCompany.Add("Seat 10");
List<string> Available = new List<string>();
BusCompany.Add("Yes");
string[,,,,] reservationTable;
for (int BC = 0; BC < BusCompany.Count; BC )
{
string BusCompanyValue = BusCompany[BC];
for (int BR = 0; BR < Route.Count; BR )
{
string BusRouteValue = Route[BR];
for (int BB = 0; BB < Bus.Count; BB )
{
string BusValue = Bus[BB];
for (int BS = 0; BS < Seat.Count; BS )
{
string SeatValue = Seat[BS];
reservationTable[BC, BR, BB, BS,];
}
}
}
}
}
我想要它做的是從每個串列中獲取值,并以每個成為前一個屬性的方式填充陣列。抱歉不知道還能怎么解釋。例如,一件完整的事情是
["Sample Company 1", "Sample Route 1", "Sample Bus 1", "Seat 1", "Yes"]
而另一個是
["Sample Company 1", "Sample Route 1", "Sample Bus 1", "Seat 2", "Yes"]
依此類推,直到添加了所有不同的變體。最后的“是”始終是相同的值。
我的主要嘗試只是上面顯示的代碼,到目前為止我還沒有得到任何結果。
uj5u.com熱心網友回復:
我認為你需要的是這樣的東西
class Company{
string Name;
List<Route> Routes;
List<Bus> Buses;
}
class Route{
string Name;
}
class Bus{
List<Seat> Seats;
}
class Seat{
int Number;
bool Booked;
}
uj5u.com熱心網友回復:
這是你要求的,但我認為這完全不是你想要的
我將變數的名稱更改為符合正常的 c# 命名標準。(即 BusCompany 將是一個類而不是一個變數)
public static void FillArray() {
List<string> company = new List<string>();
company.Add("Sample Company 1");
company.Add("Sample Company 2");
company.Add("Sample Company 3");
company.Add("Sample Company 4");
company.Add("Sample Company 5");
List<string> route = new List<string>();
route.Add("Sample Route 1");
route.Add("Sample Route 2");
List<string> bus = new List<string>();
bus.Add("Sample Bus 1");
bus.Add("Sample Bus 2");
List<string> seat = new List<string>();
seat.Add("Seat 1");
seat.Add("Seat 2");
seat.Add("Seat 3");
seat.Add("Seat 4");
seat.Add("Seat 5");
seat.Add("Seat 6");
seat.Add("Seat 7");
seat.Add("Seat 8");
seat.Add("Seat 9");
seat.Add("Seat 10");
List<string> available = new List<string>();
available.Add("Yes");
int totalRows = company.Count * bus.Count * seat.Count * available.Count * route.Count;
string[,] table = new string[ totalRows,5];
int row = 0;
for (int bc = 0; bc < company.Count; bc ) {
for (int br = 0; br < route.Count; br ) {
for (int bb = 0; bb < bus.Count; bb ) {
for (int bs = 0; bs < seat.Count; bs ) {
for (int av = 0; av < available.Count; av ) {
table[row, 0] = company[bc];
table[row, 1] = route[br];
table[row, 2] = bus[bb];
table[row, 3] = seat[bs];
table[row, 4] = available[av];
row ;
}
}
}
}
}
}
uj5u.com熱心網友回復:
我認為您正在尋找的是一個鏈表。
從一個節點到另一個節點的旅行在時間和空間上都是有效的。您可以使用 訪問下一個節點node.Next,甚至可以重新分配它們,以及它們的 next.next。您可以使用node.Value. 如果您不必通過索引訪問它們,這些會有所幫助。如果從一個穿越到另一個,這就是你的人。(另外,座位應該是 Bus 類的屬性。)
考慮放棄所有這些 for 回圈,因為要進行大量迭代。我將首先使用“指標”節點同時遍歷所有串列,這會顯著減少您的運行時間。
您可以將鏈表存盤在一個陣列中以訪問每個鏈表。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/448820.html
