• Можно ли переписать код с 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("");
            }
    Ответ написан
    Комментировать
  • Работа с Dictionary в c# - как получить данные в массиве?

    @AlexP11223
    Использовали бы лучше SQLite провайдера для стандартного ADO.NET, например https://system.data.sqlite.org

    Как мне в цикле получить все данные из DataTable?

    У Dictionary можно получить массив значений через Values. Или массив KeyValuePair через ToArray(), ToList() или просто цикл foreach.

    То есть видимо например как-то так:
    for (int i = 0; i < dt.Rows.Count; i++)
    {
        foreach (var value in dt.Rows[i].Values)
        {
            //Console.WriteLine(value);
        }
    }


    Порядок значений в Values не гарантирован (но такой же как и у ключей Keys), то есть может отличаться от того, как у вас было в таблице БД.
    Так что вероятно больше смысла делать что-то типа такого:
    for (int i = 0; i < dt.Rows.Count; i++)
    {
        foreach (var kv in dt.Rows[i])
        {
            //Console.WriteLine("Column: " + kv.Key + ", value: " + kv.Value);
        }
    }
    Ответ написан
    1 комментарий
  • Можно ли как-то поучаствовать в разработке известных сайтов?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Стоит и обратный вопрос: хочется ли им поработать с Вами?
    Ответ написан
    Комментировать
  • Как создать новый объект TextBlock в C# XAML?

    @AlexP11223
    Ошибка-то какая?

    По-моему после InitializeComponent() это надо делать иначе body у вас еще не будет.

    Второй код странный, вы вообще понимали что делали в нем? Зачем вам класс TextBlock с одним полем Text и как вы объект этого класса собирались запихнуть в окно? UI элементы ж таки не настолько простые, да и не наследник UIElement он, которого хочет метод Add.
    Ответ написан
    3 комментария
  • Интересен ли анализ алгоритмов?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Нужно всё. Можете писать -- пишите.
    Никогда не будет такого, что все отпишутся "не нужно".

    Зачем задавать такие глупые вопросы.
    Ответ написан
    Комментировать
  • Безоопасно ли заменить предохранитель 0,7A 5KV на 0,65A 5KV?

    GavriKos
    @GavriKos
    На понижение - да, безопасно. Просто может быть ложное срабатывание. На повышение (номинал по амперам больше оригинала) - опасно, не сработает вовремя. применимо, естественно, только току срабатывания предохранителя.
    Ответ написан
    Комментировать
  • Windows or Mac для разработки?

    risik
    @risik
    Программист
    > @Anonym А что есть такие идиоты которые разрабатывают софт для другой ос? =) Я таких не встречал =) Может конечно это какие-то индусы... Но им можно =)

    Например, есть много разработчиков, котороые разрабатывают софт для Андроид. Однако, разрабатывать на Андроиде под Андроиде не очень удобно. Поэтому эти разработчики, как правило, пользуются другой ОС для разработки. И это даже не всегда Linux, на котором построен сам Андроид. Очень многие пользуются Windows или OS X.

    Другой пример: веб разработчики. Очень большая часть веб приложений работает не под Windows. Тем не менее, существенная часть разработчиков пользуется Windows или OS X.

    И чтобы добить - еще пример. Нет никаких проблем сидя под Windows запускать и отлаживать linux приложение на удаленной машине или на виртуалке, которая запущена на машине разработчика. А иногда это вообще единственный путь.

    Поэтому, Ваш вопрос, мягко говоря, некорректен.

    Отвечая на Ваш вопрос с учетом того объема информации, который Вы предоставили, могу сказать довольно однозначно, выбирая между Windows и Mac, лично я выберу всегда Mac и поставлю на него Linux.
    Ответ написан
    2 комментария
  • Почему в списке контактов Skype видно человека, которого не добавлял в контакты?

    @Andoryu
    Возможно синхронизация с фейсбуком или каким-либо сервисом от MS?
    Ответ написан
    Комментировать
  • 13'3 ноутбук для работы, удобно ли?

    Очень не удобно. Придется наклонятся к экрану, даже с хорошим зрением.
    Ответ написан
    Комментировать
  • В чем суть интерфейсов в программировании?

    ptchol
    @ptchol
    Linux system administrator
    Интерфейс это фактически регламент взаимодействия.
    Класс который реализует интерфейс обязан реализовывать все его методы.
    В интерфейсе вы описываете лишь сигнатуры методов, то есть вы указываете что класс наследник должен уметь делать, но как он будет это делать, тот решает сам.
    Таким образом вы уверенны, что если класс реализует тот или иной интерфейс, все объекты данного класса имеют определенный набор методов.
    ООП - мир абстракций :) Впустите его в себя :) Интерфейсы это еше одна абстракция позволяющая отделить описание от реалзиации.

    "Придумать класс с правильным именем" - так вы не сможете заставить "наследников" реализовывать функционал.

    Интерфейсы располагаются на уровень выше классов, если можно так выразиться. Они неявно "объединяют" классы схожие по каким то общим признаком, и которые обязаны (по логике вашего приложения) реализовывать те или иные методы.

    interface Instruments {
        final static String key = "До мажор";
        public void play();
    }
    class Drum implements Instruments {
        public void play() {
            System.out.println("бум бац бац бум бац бац");
        }
    }
    class Guitar implements Instruments {
        public void play() {
            System.out.println("до ми соль до ре до");
        }
    }


    p.s: программисты дополнят и поправят.
    Ответ написан
    2 комментария
  • Почему в JavaScript срабатывает else?

    Anonym
    @Anonym
    Программирую немного )
    Первый код вернет индекс только, если первый элемент в массиве будет соответствовать условию. Иначе на первом элементе сработает return -1; и цикл завершится.
    Ответ написан
    Комментировать
  • Какой выбрать роутер с полной поддержкой dd-wrt?

    @damamaty
    ASUS RT-N16
    Ответ написан
    Комментировать
  • Как оградить себя от сайтов?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Советую тренировать силу воли. Что за бред - будете просить стороннего человека вводить пароль? А если сами будете вводить пароль - то в чем смысл любой из программ, уж лучше действительно в hosts прописывать.
    Совет Вам (бесплатно) - меняйте работу, у меня на работе или нет времени на сторонние ресурсы (как например тостер :-) ), или нет проблем, так как если я здесь, то с работой все ок.
    Ответ написан
    Комментировать
  • Какие могут быть последствия за нелегальную установку лицензии OS X Mavericks?

    @Nikolay45
    OS X может использоваться только на железе Apple. Всё остальное Вы делаете на свой риск и ответственность.
    Ответ написан
    Комментировать
  • Считаются ли действия получившего доступ к скриптам злоумышленника неправомерными, и могут ли они быть уголовно наказуемы?

    makol
    @makol
    Однозначно ДА, трактовка может быть такой, халатные или не компетентные действия сотрудника привели к доступности ценной или коммерческой информации, для злоумышленников - которые воспользовавшись данным обстоятельством и совершили (здесь подходит определение хулиганские) действия с тем то и тем то чем нанесли ущерб тому то и тому то, что повлекло то то и то то, и причинило ущерб в размере ......... что подтверждается такими то документами.
    В принципе здесь при грамотном подходе можно инкриминировать УК РФ ст. 272 ч.1.(неправомерный доступ к комп. инф.) и пришпандорить с верху ст. 167 ч. 1. (Умышленное уничтожение или повреждение имущества) и + можно попробовать ст. 213 хулиганство и 214 вандализм, опять же при грамотном подходи с изучением всех деталей. А если потрудиться и поднять КОАП и прифигачить упущенную выгоду издержки и тд. то красиво может получиться,
    так же подмечу что действия сотрудника можно квалифицировать как по неосторожности, в связи с профилактическими работами. Не буду спрашивать какую сторону в данном вопросе вы представляете. Но и для злоумышленника в законах есть лазейки.
    Ответ написан
    2 комментария
  • Куда уйти с PHP?

    KOLANICH
    @KOLANICH
    Знаю JS, PHP, C++, C#
    Но одно но - постоянные срачи.

    Вы из-за какого-то быдла собираетесь сменить ЯП?
    PHP отлично подходит для своей ниши - странице-ориентированный вебдев.
    Не fastcgi, не вебсокет-сервер, а именно "отдал документ и умер".
    Для остального нужны другие технологии, например node.js или вовсе nginx с модулем на си.
    Ответ написан
    Комментировать
  • Как провести расширение RAID массива?

    @Chromium58
    Сначала скажите укажите mdadm, что объем дисков увеличился
    mdadm --grow /dev/md0 --size=max
    Затем уведомьте файловую систему об увеличение объема -- для ex2/ext3/ext4 нужна утилита resize2fs.
    Подробнее написано тут
    Ответ написан
    1 комментарий
  • Raspberry Pi (с RTOS) + python = квадрокоптер?

    Lerg
    @Lerg
    Defold, Corona, Lua, GameDev
    "Не взлетит" - нужны гироскопы и акселлерометры.
    Я делал связку MultiWii - Crius All In One Pro с мини компьютером MK808 со связью по последовательному порту (через usb).
    Работало, но из-за нестабильной работы WiFi управление было ужасным.
    Ответ написан
    1 комментарий
  • Зачем программисту дискретная математика?

    Зависит от того, что вы вкладываете в понятие "программиста". Если, например, кодить сайты на битриксе то незачем.
    Ответ написан
    6 комментариев