Одним из способов достижения зубчатого массива является словарь. Что-то, основанное на приведенном ниже коде, может помочь вам начать.
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;
}
Edit:
Я взял код в первоначальной версии этого вопроса и попытался превратить его в 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
ссылкой на фактический массив.
Мы не знаем, что ваш PHP должен делать, что делает его очень трудным для тех, кто не знает * и * PHP и C#, чтобы помочь вам. –
Я считаю, что массивы PHP - это просто хеш-таблицы, поэтому похоже, что вы хотите использовать словарь> 'вместо массива в C#. –
Lee