Ответы пользователя по тегу PHP
  • Можно ли переписать код с PHP на C#?

    dima_horror
    @dima_horror
    public ActionResult Test()
            {
                string str = "1234567890ABCDEF"; //$str='1234567890ABCDEF';
                // Длина кода без учета разделителей
                int code_length; //$code_length=$_GET['lenght'];
                int.TryParse(Request.Params["lenght"], out code_length);
                // Нужное количество кодов
                int codes_count; //$codes_count=$_GET['count'];
                int.TryParse(Request.Params["count"], out codes_count);
                // Позиции разделителя (0 - не надо)
                byte code_separartor = 0; //$code_separartor=0;
     
                ViewDataDictionary  tmp = new ViewDataDictionary(); //$tmp=array();
                int str_length = str.Length - 1;  //$str_length=strlen($str)-1;
    
                Random random = new Random();
    
                // Цикл до заполнения массива
                while (tmp.Count < codes_count) //while (count($tmp)<$codes_count) {
                {
                    // Сгенерировать индекс массива
                    string code = ""; //$code='';
    
                    for (int i = 0; i < code_length; i++) // for ($i=0; $i<$code_length; $i++){
                    {
                         // Разделитель можно не добавлять
                        if (i > 0 && code_separartor > 0 && i % code_separartor == 0) //if ($i>0 && $code_separartor>0 && $i%$code_separartor==0) { $code.='-';}
                        {
                            code +='-';
                        } 
                        
                        code += str.Substring(random.Next(0, str_length), 1); //$code.=substr($str, mt_rand(0,$str_length), 1);
        
                    } // }
    
                    // Или в массив добавится новый элемент, или
                    // перепишется поверх уже имеющийся
                    tmp[code] = 1; //$tmp[$code]=1;
    
                } // }
     
                // Теперь в массиве $codes уникальные коды
                var codes = tmp.Keys; //$codes=array_keys($tmp);
    
                return Content("");
            }
    Ответ написан
    Комментировать