亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 PHP 數組轉換為 C#

將 PHP 數組轉換為 C#

C#
慕哥9229398 2022-10-23 13:42:26
我需要幫助將 php 數組轉換為下面的紅色。我已經能夠將一些數組轉換為字典,但不確定最好的解決方案是什么,因為這是一個數組內部的數組。$reg_rows=array();$rc_count=0;$reg_counter=0;$hold_achtrndt="1970-01-01";$hold_regpay_sort="0";while ( ($row_rc=sqlsrv_fetch_assoc($result_rc)) )     {    if ( strtoupper(substr($row_rc['tb_value1'],4,1))=="Y" )          $reg_counter=count($reg_rows);  //If the paymethod is set to require it's own deposit, increment    elseif ( $row_rc['regpay_sort']!=$hold_regpay_sort )     {        $reg_counter=count($reg_rows);  //If the paymethod changes, increment so each different type is separated        $hold_regpay_sort=$row_rc['regpay_sort'];    }    **$reg_rows[$reg_counter][$row_rc['rc_code']]=$row_rc;** //THIS IS THE ARRAY I NEED HELP WITH    $rc_count++;}如果我向您展示我想要得到的東西,也許會更容易。下面的示例。where 0and1將是 reg_counter 和5514, 5115,5116將是 the$row_rc['rc_code']和 thearray[78]是從 SQL 表返回的字段。$reg_rows[0][5515]{array[78]}$reg_rows[1][5514]{array[78]}$reg_rows[1][5516]{array[78]}
查看完整描述

1 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

正如您所說,您在數組的值中有一個關聯數組1。


在 C# 中,您將在數組的值或外部字典的值中放置一個字典。更準確地說,如果我們事先知道外部數組的大小,我們可以這樣寫


var size = 42; // let's assume we know this somehow

var outer = new Dictionary<InnerKey, InnerValue>[size];

for (int i = 0; i < size; i++) {

  for (key in some_source) {

    var value = some_function(key);

    if (outer[i] == null) {

      outer[i] = new Dictionary<InnerKey, InnerValue>();

    }

    outer[i].Add(somekey, somevalue);

  }

}

但是,在這種情況下,我們事先并不知道數組的大小,并且在 C# 中動態調整數組的大小會很痛苦,所以我們將使用一個其值本身就是字典的字典:


var outer = new Dictionary<Int, Dictionary<InnerKey, InnerValue>>;

for (int i = 0; i < size; i++) {

  for (key in some_source) {

    var value = some_function(key);

    if (!outer.ContainsKey(i)) {

      outer.Add(i, new Dictionary<InnerKey, InnerValue>());

    }

    outer[i].Add(somekey, somevalue);

  }

}

請注意,您還可以使用d[k] = v. 如果鍵已經存在,d[k] = v將覆蓋其值,但d.Add(k, v)會引發異常,因此Add如果您知道鍵應該是唯一的,那么使用它會更安全。


為了更清晰的代碼,以一些稍微復雜的功能為代價,您可以擺脫使用DefaultDictionary. 您也很可能通過使用 LINQ 擺脫循環。它看起來很像帶有一些 C# 語法的 SQL,并且能夠操作 C# 列表、字典、數組等。您正在使用的 SQL 綁定甚至可能具有 LINQ 接口!


1 鍵不是整數的數組通常稱為關聯數組(它將值與鍵相關聯)。


查看完整回答
反對 回復 2022-10-23
  • 1 回答
  • 0 關注
  • 167 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號