Задать вопрос
  • Как правильно организовать выполнение Procces.Start?

    @Got_Oxidus
    Учусь
    Тут просто парочка команд, но если их будет больше то выйдет говнокод с кучей if. Через switch думаю будет тоже самое.

    Согласен.

    Этот вариант (со словарём) самый оптимальный).
    И у него есть бонус команды можно добавлять и удалять в рантайме.
    Ответ написан
    1 комментарий
  • Как правильно организовать выполнение Procces.Start?

    Griboks
    @Griboks Куратор тега C#
    Ну это зависит от степени вашей "больной" фантазии. Можно придумать ещё больше абстрактные вещи. Например, через рефлексию получать все открытые методы некого класса и транслировать команду в имя метода, что бы заинвокнуть его.
    Ответ написан
    3 комментария
  • Энкрипт и декрипт введенной строки. Как правильно?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Поиск рулит https://habrahabr.ru/post/183462/
    Шифрование

    Шифрование на основе операций XOR использует свойство:
    (a XOR k) XOR k = a
    где k – выступает в роли ключа

    Простая реализация шифрования строки:
    public static byte[] encode(String pText, String pKey) {
    		byte[] txt = pText.getBytes();
    		byte[] key = pKey.getBytes();
    		byte[] res = new byte[pText.length()];
    
    		for (int i = 0; i < txt.length; i++) {
    			res[i] = (byte) (txt[i] ^ key[i % key.length]);
    		}
    
    		return res;
    	}


    и дешифрования:
    public static String decode(byte[] pText, String pKey) {
    		byte[] res = new byte[pText.length];
    		byte[] key = pKey.getBytes();
    
    		for (int i = 0; i < pText.length; i++) {
    			res[i] = (byte) (pText[i] ^ key[i % key.length]);
    		}
    
    		return new String(res);
    	}
    Ответ написан
    Комментировать
  • Unity C# - Как, после получения урона персонажем, дать ему неуязвимость?

    Прочитайте документацию Unity3D https://docs.unity3d.com/ru/current/Manual/index.html
    Прочитайте вводный курс по C# на https://metanit.com/sharp/

    По вопросу.
    Главный герой - это игровой объект на котором скрипт, в этом скрипте есть метод Damage(int amount).
    В нем происходит проверка может ли главный герой получить урон или нет, а именно флаг бессмертия true/false. Флаг может изменятся под действием таймера, в документации есть пример его использования.

    Если бессмертие может еще кто либо использовать, то это дело лучше вынести в отдельный класс (декоратор).
    Ответ написан
    Комментировать
  • Generics: Что значит такая запись?

    iLLuzor
    @iLLuzor
    Java, Kotlin, Android Developer
    Это значит, что для этого класса нужно указать три дженерика.
    Для примера посмотрите исходники интерфейса Map и\или классов HashMap/LinkedHashMap/LinkedTreeMap. Там два дженерика.
    Ответ написан
    Комментировать
  • Заражение вирусами в ОЧЕНЬ большой сети?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    1. Админов расстрелять, по теме
    после модернизации количество работ было таким большим, что одноранговую сеть так и оставили.

    Какой то мудак (его уже выгнали) поднял игровой сервер в сети, расшарил инет через мобильный LTE интернет и запустил вирус криптолокер в сеть.


    2.
    Операционную систему менять нельзя ни в коем случае, так как большинство лабораторных/диагностических программ очень старые, драйвера старые, под новыми системами не хотят дружить.

    Если простоя стоит миллионы долларов, то что мешает заплатить пару миллионов на решение это проблемы?
    Тут расстреливаем менеджеров, ну тех которых не расстреляли в п.1.

    3.
    На большинстве компьютеров антивирусная защита отсутствует как таковая, так как на большинстве рабочих станций стоит Windows 98 & XP

    Древняя ось, без обновлений (на большинстве уверен вообще обновы не ставились со времени установки), без банального антивируса.
    Чего вы ещё хотели то?

    Вирусные эпидемии как в вашей ситуации не лечатся путём "а прогоним отот комп антивирусом", их лечат путём "отрубить нахрень всё и переустанавливаем системы ибо хрен пойми какая сигнатура у этой дряни".

    Вы влетели по полной программе и решение тут только одно - модернизация железа/ПО, грамотный подход к сети.
    Ответ написан
    Комментировать
  • Как установить сайт на Windows?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    https://ospanel.io/ - портативный виртуальный сервер, установка на win в два клика. Визуальный интерфейс и т.д. Это если для личного пользования. (есть и аналоги типа XAMPP, denver и т.д. Но я бы не советовал, для сохранности нервной системы)
    А если Вы хотите из своего старого коня и интернета сделать полноценный хостинг - просто не стоит. Покупаете vds и не занимаетесь печальками и расстройствами.
    Ответ написан
    2 комментария
  • Как перенести выделеную строку DataGridView1 в DataGridView1 C#?

    @Ciganqwer1 Автор вопроса
    Сам разобрался
    foreach (DataGridViewRow row in dataGridView1.SelectedRows)
                {
                    object[] items = new object[row.Cells.Count];
                    for (int i = 0; i < row.Cells.Count; i++)
                    {
                        items[i] = row.Cells[i].Value;
                    }
                    dataGridView2.Rows.Add(items);
                   // fromDGV.Rows.Delete(row);
                }

    А это вдруг кому надо будет
    Ответ написан
    Комментировать
  • Можно ли считать профиль в Windows как отдельную среду для работы?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Нет. Вам нужна среда с полным восстановлением оригинального состояния.
    Для этого подойдет виртуальная машина, в которую вы будет загружать копию оригинального снимка системы до установки программы.
    Ответ написан
    Комментировать
  • Опыт перехода из энтерпрайза в ...?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Либо синдром профессионального выгорания, либо Вы просто с жиру беситесь, батенька... Рынок труда в ж... - Вы всерьез хотите поменять работу с зарплатой выше рынка на нечто неведомое? Дерзайте. Но сначала неплохо было бы определиться - что все-таки не устраивает? Что хотелось бы?
    - Коллектив единомышленников-фанатов? Идите в стартап, но будьте готовы взять на себя риски стартапа - он не взлетает, денег нет, всем спасибо, все свободны.
    - Свободу творчества? Идите во фриланс, но будьет готовы взять на себя риски фриланса (куда большие, чем в пункте выше) - ты сам себе СIO, сам себе сеньор и сам себе продвиженец. И если денег нет - обвинять будет некого

    Может просто надоело тратить время на дорогу? Снимите жилье поблизости или найдите работу ближе к дому... То, как "долгая дорога к дому" может надоесть, знаю вовсе не понаслышке...
    Ответ написан
    4 комментария
  • Как программно вызвать диалог использования программы по умолчанию для заданного протокола (http/https)?

    AlexXYZ
    @AlexXYZ Автор вопроса
    O Keep Clear O
    Нашёл решение. На основе кода: https://github.com/joewalker/devtools-window/blob/...

    public static void NotifySystemOfNewRegistration() {
    
                tagOPENASINFO info = new tagOPENASINFO();
                info.cszFile = "https";
                info.cszClass = null;
                info.oaifInFlags = tagOPEN_AS_INFO_FLAGS.OAIF_FORCE_REGISTRATION |
                                   tagOPEN_AS_INFO_FLAGS.OAIF_URL_PROTOCOL |
                                   tagOPEN_AS_INFO_FLAGS.OAIF_REGISTER_EXT;
                SHOpenWithDialog(IntPtr.Zero, ref info);
            }
    
            // http://msdn.microsoft.com/en-us/library/windows/desktop/bb773363(v=vs.85).aspx 
            private struct tagOPENASINFO {
                [MarshalAs(UnmanagedType.LPWStr)]
                public string cszFile;
    
                [MarshalAs(UnmanagedType.LPWStr)]
                public string cszClass;
    
                [MarshalAs(UnmanagedType.I4)]
                public tagOPEN_AS_INFO_FLAGS oaifInFlags;
            }
    
            [Flags]
            private enum tagOPEN_AS_INFO_FLAGS {
                OAIF_ALLOW_REGISTRATION = 0x00000001,   // Show "Always" checkbox
                OAIF_REGISTER_EXT = 0x00000002,   // Perform registration when user hits OK
                OAIF_EXEC = 0x00000004,   // Exec file after registering
                OAIF_FORCE_REGISTRATION = 0x00000008,   // Force the checkbox to be registration
                OAIF_HIDE_REGISTRATION = 0x00000020,   // Vista+: Hide the "always use this file" checkbox
                OAIF_URL_PROTOCOL = 0x00000040,   // Vista+: cszFile is actually a URI scheme; show handlers for that scheme
                OAIF_FILE_IS_URI = 0x00000080    // Win8+: The location pointed to by the pcszFile parameter is given as a URI
            }
    
            // http://www.pinvoke.net/default.aspx/shell32.SHOpenWithDialog
            [DllImport("shell32.dll", EntryPoint = "SHOpenWithDialog", CharSet = CharSet.Unicode)]
            private static extern int SHOpenWithDialog(IntPtr hWndParent, ref tagOPENASINFO oOAI);

    Результат:

    59e7476d5d485533031337.png

    Диалоговое окно выводится.
    Ответ написан
    Комментировать
  • Как выбрать из json ответа нужные значение?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    С помощью Newtonsoft.Json выполнить поиск по ключам можно так:

    var data = (JObject)JsonConvert.DeserializeObject("данные JSON");
          
    foreach(JObject item in data["response"]["items"])
    {
      // var photos = item.Properties().Where(p => p.Name.StartsWith("photo_")).ToArray();
      // если считать, что последнее изображение самое большое
      var photo = item.Properties().LastOrDefault(p => p.Name.StartsWith("photo_") && 
        p.Value != null && 
        p.Value.ToString() != ""
      );
    
      /*
      // вариант с извлечением номера и сортировкой
      // при условии, что после photo_ всегда будет число
      // (если нет, то придется это учитывать отдельно)
      var photo = item.Properties().Where(p => p.Name.StartsWith("photo_") && 
        p.Value != null && 
        p.Value.ToString() != ""
      ).OrderBy(p => Convert.ToInt32(p.Name.Substring(p.Name.LastIndexOf("_") + 1))).LastOrDefault();
      */
    
      if (photo != null)
      {
        // выводим адрес изображения в консоль
        Console.WriteLine(photo.Value.ToString());
      }
    }
    Ответ написан
    Комментировать
  • Дружба C# и Linux, как?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Можно запускать обычные сборки через Mono или .NET Core. Последнее предпочтительней.

    Программа уровня «Hello world» будет просто запускаться через выше указанные решения, например:

    mono helloworld.exe
    dotnet helloworld.exe
    # выполнение из исходного кода в текущем каталоге:
    dotnet run

    Для более сложных решений может потребоваться дополнительная адаптация кода. Под .NET Core это сделать удобней и проще. Писать и собирать код вполне можно в Visual Studio под Windows.
    Ответ написан
    4 комментария
  • Дружба C# и Linux, как?

    Nipheris
    @Nipheris Куратор тега C#
    Гуглите .NET Core / Mono.
    Ответ написан
    Комментировать
  • Считывание файла C#?

    @famidur
    Создается буфер в 1024 байт, часть файла считывается в этот буфер, потом 1 байт делится на 8 (int i = 7; i >= 0; i--) и выводится бит.
    Ответ написан
    Комментировать
  • Почему говорят, что C# не подходит для WEB?

    zorca
    @zorca
    C# не подходит для БЫСТРОЙ РАЗРАБОТКИ под WEB
    Ответ написан
    10 комментариев
  • Как все же компьютер "понимает", что от него хочет программист?

    @John_Nash
    coder
    Стоит начать с этого
    Ответ написан
    Комментировать
  • Как все же компьютер "понимает", что от него хочет программист?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Музыкальная шкатулка, механические игрушки, механический сумматор.
    Посмотрите
    https://geektimes.ru/post/282990/

    Все это при помощи транзисторов оказалось возможным перевести на уровень электросигналов, уменьшить элементы в размерах в миллионы раз, и получить миллионы подобных узлов. То есть процессор состоит из простых узлов, в очень сложной конструкции. Вот и все.
    Ответ написан
    Комментировать