Задать вопрос
  • TryAdd в Dictionary есть?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Держите возможно они там что то попутали
    public static class Extensions
        {
            public static bool TryAdd<TKey, TValue>(this Dictionary<TKey, TValue> dictionary, TKey key, TValue value)
            {
                if (dictionary.ContainsKey(key))
                {
                    return false;
                }
                dictionary.Add(key, value);
                return true;
            }
           public static bool TryAdd<TKey, TValue>(this Dictionary<TKey, TValue> dictionary, KeyValuePair<TKey,TValue> value)
            {
                return TryAdd(dictionary, value.Key, value.Value);
            }
        }
    Ответ написан
    Комментировать
  • TryAdd в Dictionary есть?

    Видимо вы используете старую версию дотнета.
    TryAdd появился в .net core 2.0 и .netstandart 2.1
    Его нет в .net framework и в .netstandart 2.0
    Ответ написан
    1 комментарий
  • Как передать исключительные права на программу?

    Jump
    @Jump
    Системный администратор со стажем.
    Делаете установщик, который ставит программу и запрашивает установку нужных компонентов предлагая загрузить их с сайта разработчика.
    В договоре по которому будете передавать четко указыайте какие именно права и на что именно вы передаете.
    И недвусмысленно объявляйте что без сторонних компонентов таких-то работать не будет, для работы пользователь сам должен озаботиться скачиванием и получением прав на указанные компоненты.
    Вот и все.
    Ответ написан
    Комментировать
  • Как я могу поместить компонент игрового объекта в переменную?

    GavriKos
    @GavriKos Куратор тега Unity
    Ну достаточно почитать ошибку. На самом деле.
    Ответ написан
    Комментировать
  • Самый быстрый алгоритм для определения, находится ли точка внутри области?

    twobomb
    @twobomb
    Игра очень серьезная? Я в том плане что
    клиенту, естественно, верить нельзя

    Подумайте кому-то это вообще нахрен нужно будет, лазить разбираться в вашем коде и подменять запросы, я думаю никому, ну допустим всё серьезно.
    Я бы начал с того что именно взял первый попавшийся алгоритм и реализовал бы его, в реале пока вы дождесь какого либо толкового ответа вы могли бы уже реализовать все алгоритмы и протестить.
    Всего скорее скорости работы первого попавшегося алгоритма должно хватить, если у вас не сумасшедшая нагрузка и не нужно выполнять тысячи таких проверок ежесекундно.
    Крч проверьте на первом попавшемся алгоритме и если не хватит скорости тогда приходите будем думать как оптимизировать.
    P.S. Сделал "тестовый стенд" на js на канве

    На моей машине 100тысяч полигонов проверяются на 0.4мс
    Ответ написан
    6 комментариев
  • Как соединить HTML и C#?

    1. При помощи XAML тоже можно создать очень качественный UI. При этом xaml даже более гибкий чем html.
    Посмотрите, как выглядят приложения на Avalonia, к примеру:
    windows-rider.png
    2. Да, можно. Есть Electron.NET и Blazor Desktop
    Ещё вы можете взять имеющуюся бизнес-логику и засунуть её в asp net, а дальше делать на любом языке UI
    Ответ написан
    3 комментария
  • Зачем преобразовывать в float?

    @stasersmailov
    Потому что изначально число с запятой типа double, и что бы дать понять компилятору что это именно float нужно писать (float)2.8 или же 2.8f
    Ответ написан
    1 комментарий
  • Кнопка "ответить" к своему собственному коментарию - это баг или фича?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Это инженерный компромисс. Наличие кнопки не делает никому хуже, при этом позволяет не усложнять код лишними условиями.
    Ответ написан
    9 комментариев
  • Какой отладчик для ассемблера лучше всего?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Начал смотреть в сторону OllyDbg, но его разработка прекратилась очень давно - 10 лет тому назад.
    За 10 лет ничего не изменилось(я имею ввиду для x32).

    Попытался открыть первый исполняемый файл через x64dbg, получил сообщение о том, что я пытаюсь открыть недопустимый PE-файл
    Это случается, когда вы открываете x32 PE файл в x64-х битной версии x64dbg или наоборот.

    Смотрите внимательней - x64dbg есть x32 и x64.
    Если изучаете x32 - тогда берите OllyDbg (или x64dbg x32). По ней за много лет написано много гайдой, + серия уроков(где-то на wasm было).
    Если x64, тогда x64dbg.
    Ответ написан
    3 комментария
  • Можно ли открыть готовый билд игры в Unity?

    @namee
    Можно, частично.
    uTinyRipper например позволяет достать
    шейдеры, сцены, префабы, 3d-объекты, арты и многое другое.

    Но только не скрипты.
    Ответ написан
    1 комментарий
  • Как вообще отправлять эти ваши post запросы?

    Result.ToString();

    Дай угадаю. Вместо нормального текста у тебя там получается что-то типа "HttpResponseMessage"?) Или вообще всё зависает?
    Писать надо как-то так:
    using System;
    using System.Collections.Generic;
    using System.Net;
    using System.Net.Http;
    
    var formData = new Dictionary<string, string>
    {
        {"CaseNumbers", ""},
        {"Count", "25"},
        {"Courts", ""},
        {"DateFrom", null},
        {"DateTo", null},
        {"Judges", ""},
        {"Page", "1"},
        {"Sides", ""},
        {"WithVKSInstances", "false"},
    };
    using var client = new HttpClient();
    var uri = new Uri("https://kad.arbitr.ru/");
    var content = new FormUrlEncodedContent(formData);
    var response = await client.PostAsync(uri, content);
    var str = await response.Content.ReadAsStringAsync();
    System.IO.File.WriteAllText("./result.html", str);

    Тк в хендлерах винформ нельзя использовать async Task - придётся button1_MouseClick сделать async void

    Вот так выглядит результат:
    605c6f8ee4f56880204163.png
    Ответ написан
    5 комментариев
  • Лишняя инструкция в дизассемблированном коде ассемблера?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Просто компиляция без оптимизации.
    Ответ написан
    1 комментарий
  • Почему такая разница между Nginx и Apache в метрике "Content Download"?

    @rPman
    Скорее всего все зависит от того как приложения отдают http заголовки.

    Когда работает через apache, TTFB ждет долго потому что пока приложение не отработает до конца, даже заголовки не будут отправлены, т.е. время, которое занимает работа приложения это TTFB+content download

    Когда же работает через php fpm, за заголовки отправляются тут же, nginx не ждет когда закончится работа приложения для этого, а значит TTFB маленький (кстати 122мс это ДОЛГО что там происходит?) а уже генерация контента происходит пока идет content download
    Ответ написан
    3 комментария
  • Не допускается указывать /main при сборке модуля или библиотеки?

    У вас проект видимо типа "библиотека". Вам надо сделать, чтобы тип был "Исполняемое что-то там"
    Ответ написан
    3 комментария
  • Как сделать сохранительную функцию в c#?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    В классе создайте текстовую переменную - путь к сохраняемому файлу.
    Если пользователь нажал Save, а эта переменная пуста - вызывается Save As. После выполнения Save As, в эту переменную вносится выбранный путь (с именем файла).
    В дальнейшем, при нажатии на Save, если путь уже есть, диалоговое окно для выбора пути - не выводится.
    Ответ написан
    6 комментариев
  • Как работать в строке с "{"?

    edward_freedom
    @edward_freedom
    Там в подсказках было, что тебе нужно продублировать фигурные скобки и отсчет начинается с 0
    Console.WriteLine("new Item{{ Thumbnail = {0} }}", item.Thumbnail);
    Ответ написан
    Комментировать
  • Как создать текстовую онлайн RPG/ZPG?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если у тебя есть интерес к математике и ты любишь логически рассуждать, то основы программирования тебе дадутся легко. В любом императивном языке программирования используются конструкции "если-то-иначе" и "повторять-до-тех-пор", то есть используются условия, которые могут быть "истиной" или "ложью". Остаётся только изучить синтаксис самого языка: где-то пишут if условие then действие end, а где-то if (условие) { действие } и тому подобное. То есть различия только в написании. Вот тебе основы программирования в двух словах.

    Что касается разработки именно игры, то есть понятие основного игрового цикла. С точки зрения программирования - это обычный цикл "повторять-до-тех-пор", просто он не заканчивается до самого конца игровой сессии. Этот цикл делит игру на так называемые "кадры" или "тики", из которых и состоит игра. Каждый кадр - это отдельное состояние игры, которое соответствует отдельной итерации основного цикла. Тебе нужно придумать, каким образом одно состояние сменяет другое, как осуществляется переход, какие вычисления при этом производятся. Такой "кадр" обычно не соответствует кадру на экране (другими словами ход игры не зависит от FPS), хотя это уже отдельная сложная тема.

    1. Язык выбирай в зависимости от того, какой движок или платформу будешь использовать. Не оглядывайся на другие игры. Например, Unity и соответственно C#.
    2. Курсы, учебники, ютуб-каналы - без разницы. В любом случае ты потратишь какое-то время, и его не получится сильно уменьшить. То есть это прямая конвертация времени в знания и навыки без сильных колебаний курса цены этой конвертации. В целом, время будет зависеть от твоего начального бэкграунда (т.е. что ты знаешь и умеешь уже сейчас).
    3. В программировании (да и в других областях) сложную задачу принято разбивать на части (декомпозиция). Сначала нужно изучить понятие игрового цикла, и как время будет течь в игре (или как время в игре соотносится с реальным, учитывая паузы и сохранения). Затем решить, в каком порядке и что там будет выполняться более детально. Однако любая мелкая игровая система всё равно будет достаточно сложна, и её снова нужно разбивать на совсем уж простые. А простые - снова разбивать на элементарные. Поэтому от умения разбивать зависит, закончишь ли ты программу (игру) или нет.
    4. Сетевая часть - обычно самая сложная (и самая глючная), потому что для каждой своя оптимизация. В двух словах, устройства обмениваются сообщениями по сети, и эти сообщения могут пересылаться с разной скоростью, а могут порой вообще теряться в никуда. Клиент-серверная модель предполагает, что есть некое главное устройство (например, ты арендовал сервер в дата-центре), к которому подключаются все остальные (т.н. клиенты). Но вот как будет реализовано взаимодействие, контроль ошибок, чтобы не глючило, вот это уже зависит от самой игры.
    Ответ написан
    Комментировать
  • Как использовать один метод в другом классе?

    GavriKos
    @GavriKos Куратор тега Unity
    Последовательность вызовов эвейков - дело туманное и неопределенное.
    Вы даете гарантию что Awake класса DataStorage вызовется раньше чем IAPSeller?
    Ответ написан
    4 комментария
  • Как это понять?

    theobroma
    @theobroma
    javascript developer (ReactJS)
    1)let arr = str.split(' ');
    Возьмет строку, в данном случае 'aa bb cc aa bb aa', разобьет на части используя пробел как разделитель. В результате получим:
    let arr = ['aa', 'bb', 'cc', ' aa', 'bb', 'aa']
    2) Следующий кусок кода просто произведет подсчет одинаковых частей.
    return arr.reduce((acc, rec, index) => {
        return (typeof acc[rec] !== 'undefined')
          ? { ...acc, [rec]: acc[rec] + 1 }
          : { ...acc, [rec]: 1 }
      }, {});
    Рассмотрим его подробнее. Начнем с аргументов:
    acc – последний результат вызова функции, он же «промежуточный результат».
    rec – текущий элемент массива, элементы перебираются по очереди слева-направо.
    index – номер текущего элемента.

    Что собственно происходит:
    -typeof acc[rec] !== 'undefined' проверит есть ли в объекте 'acc' ключ 'rec'.
    - и если мы уже встречали такой( например когда "aa", но уже во второй раз ), тогда изменить значение этого ключа прибавив 1.{ ...acc, [rec]: acc[rec] + 1 }
    - если же такого ключа еще не было, то создадим его со значением 1, ибо он в первый раз попался{ ...acc, [rec]: 1 }
    Ответ написан
    6 комментариев