有一段代码,想用C#来表示,主要是数组问题
程序员文章站
2022-06-13 13:30:44
...
$cursor = exequery( TD::conn( ), $query );while ( $rows = mysql_fetch_array( $cursor ) ){ $a_bi[$tid]['selected'] = array( ); $a_bi[$tid]['unselected'] = array( );}
$cursor = exequery( TD::conn( ), $query );while ( $rows = mysql_fetch_array( $cursor ) ){ $tid = $rows['tid']; $rid = $rows['rid']; $report_name = $rows['report_name']; $report_limit_users = $rows['report_limit_users']; $s_type_name = "[".$a_bi[$tid]['name']."]"; if ( strpos( $report_limit_users, $s_user ) === FALSE ) { $a_report[$rid]['name'] = $s_type_name.$report_name; $a_bi[$tid]['selected'][$rid]['name'] = $s_type_name.$report_name; } else { $a_bi[$tid]['unselected'][$rid]['name'] = $s_type_name.$report_name; }}
主要是数组怎么用C#语法表示。听说用字典可以,但还是不知道怎么写。
回复讨论(解决方案)
C# 不也是支持多维数组的吗?
你把键名换成下标不就可以了吗?
具体怎么写呢,给个例子吧
比如 $a_bi[$tid]['selected'][$rid]['name']
可写作
a_bi[tid][selected][rid][name]
其中 tid 和 rid 是读取的变量 selected 和 name 是自定义变量,取值 0,1,2,3,4....
这样的直译的好处在于没有改变原算法的形式,也不需要完全理解算法原理
坏处在于无效的内存较多,但可在理解算法的基础上进行优化。当然这是后话了
在PHP中这是个多维数组吧?如果按C#来这样写的话,估计会报错吧,C#中ARRAYLIST一维可以用索引,如果多维的话也可以吗?
Dictionary
a_bi = new
Dictionary
上一篇: @@ROWCOUNT全局变量