簡體   English   中英

c shap中的三維數組

[英]three dimensional array in c shap

我是ac#家伙,正在使用一個API,其中所有示例都在php中,所以我需要幫助,這樣我才能確切地了解此代碼是什么

$rooms = array();

     // First Room
     $rooms[] = array(array("paxType" => "Adult"));

     // Second Room
     $rooms[] = array(array("paxType" => "Adult"), array("paxType" => "Adult"), array("paxType" => "Child", "age" => 8));

我需要有人可以像我是C#家伙一樣向我描述此代碼。

因為我在谷歌周圍這是一個我已經了解的多維數組

和pax是此api中的類(根據api文檔),具有一些屬性,例如paxtype,age等。

但是我沒有辦法在C#中解決這個問題。

編輯

該pax類型多維數組傳遞給此方法

public getAvailableHotelResponse getAvailableHotel(string apiKey, string destinationId, DateTime checkIn, DateTime checkOut, string currency, string clientNationality, bool onRequest, pax[][] rooms, filter[] filters);

第二次編輯

public getAvailableHotelResponse getAvailableHotel(string apiKey, string destinationId, DateTime checkIn, DateTime checkOut, string currency, string clientNationality, bool onRequest, pax[][] rooms, filter[] filters);

我必須通過我的方法傳遞這個pax [] []房間,房間將具有以下結構

rooms[0][0][paxType]=Adult
rooms[0][1][paxType]=Adult
rooms[0][2][paxType]=Child
rooms[0][2][age]=6


rooms[1][0][paxType]=Adult
rooms[1][1][paxType]=Adult
rooms[1][2][paxType]=Child
rooms[1][2][age]=8

和pax類在下面

 public class pax
    {
        public pax();

        [SoapElement(DataType = "integer")]
        public string age { get; set; }
        public string firstName { get; set; }
        public string lastName { get; set; }
        public string paxType { get; set; }
        public string title { get; set; }
    }

我認為現在對我們所有人來說都更加清楚了。

數組在PHP中是動態的。 由於無法確定大小,因此將其轉換為C#將需要一個非基本數組。

// $rooms = array ();
List<List<pax>> rooms = new List<List<pax>>();

ff PHP代碼,

$rooms[] = array (array ("paxType" => "Adult"));

也可以解釋為:

$room = array ();
$pax = array ();
$pax["paxType"] = "Adult";
$room[] = $pax;
$rooms[] = $room;

因此,

// $room = array ();
List<pax> room = new List<pax>();

// $pax = array ();
pax p = new pax();

// $pax["paxType"] = "Adult";
p.paxType = "Adult";

// $room[] = $pax;
room.Add(p);

// $rooms[] = $room;
rooms.Add(room);

然后只需將其轉換為原始數組即可。

// this will be the pax type array
pax[][] paxRooms = new pax[rooms.count][];
for (int i = 0; i < rooms.Count; i++) {
    paxRooms[i][] = rooms[i].ToArray();
}

PS我是一個PHP / Java專家,請原諒我犯語法錯誤。

$rooms數據結構如下所示:

[
  [{paxType:"Adult"}],
  [{paxType:"Adult"}, {paxType:"Adult"}, {paxType:"Child", age:8}]
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM