实现交错数组的一种方法是字典。基于以下代码的内容可能会让您入门。
Dictionary<string, string>[] array;
void MyMethod(int[] ckeys, int gotovalue, string[] command)
{
int x = 0;
for(int ii = (ckeys[0] + 1); ii < gotovalue; ii++)
{
string no = preg_replace(" .*", "", command[ii]);
string temp = preg_replace("^[0-9]*. ", "", command[ii]);
string cid = preg_replace(" (.*", "", temp);
temp = preg_replace(".* (wait: ", "", command[ii]);
string wait = preg_replace(",.*", "", temp);
temp = preg_replace(".*, prio: ", "", command[ii]);
string prio = preg_replace(").*", "", temp);
array[x] = new Dictionary<string, string>();
array[x]["no"] = no;
array[x]["cid"] = cid;
array[x]["wait"] = wait;
array[x]["prio"] = prio;
array[x]["debug"] = command[ii];
x++;
}
}
string preg_replace(string aa, string bb, string cc)
{
return aa + bb + cc;
}
编辑:
我在问题的初始版本中获取了代码并尝试将其转换为 C#,假设所有未指定的类型都是字符串。调用的例程preg_replace 未指定,但它似乎需要三个字符串并返回一个。
原始问题有$x = 0; 行,它似乎将$x 定义为整数并对其进行初始化。 $array[$x] = array(); 行似乎表明给定整数索引处的$array 是指一个空数组。然后$array[$x]["no"] 行将该数组的"no" 元素设置为字符串。我提出的 C# 将 array 声明为字典数组。 C# 字典是关联数组的一种形式,在 Perl 语言中它被称为“哈希”。整段代码会将值写入结构,有效地将其从参数中找到的值初始化为MyMethod。
在其他地方需要array = new Dictionary<string, string>[gotovalue] 之类的语句来使array 引用实际数组。