欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

有一段代码,想用C#来表示,主要是数组问题

程序员文章站 2024-01-24 10:00:10
...
$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>如果是字典对象,这样写对不对?