Ответы пользователя по тегу C#
  • Как удалить функцию в c#?

    Вы не правильно понимаете, что такое функция. В C# всё делится на мета-данные и просто данные - экземпляры. К примеру вы берёте два яблока красное и зелёное, и говорите у них есть мета-данные: цвет, вкус, запах. Так же у них есть данные: красный и зелёный, сладкий и кислый, ароматный и парафиновый. При этом данные изменяются в зависимости от того какое яблоко вы взяли, а мета-данные это фишка всех яблок, то есть абстракция.
    Функции так же можно разделить на мета и экземпляры. Так вот, экземпляр функции - это состояние когда она выполняется процессором то есть у экземпляров функции могут быть разные аргументы, время выполнения, исполненные блоки, но сам код здесь выступает мета-данными. То есть
    public void func( int d ){
    int a = d;}

    переменная 'a' будет во всех экземплярах, но вот сам d может меняться.
    Создание экземпляра функции это сам её вызов то есть когда вы пишите Func(); вы уже создали экземпляр функции и более того выполнили, но удалить её можно лишь изнутри, то есть оператор return. Вы можете создать переменную на экземпляр функции и здесь появляется некая запутанность, экземпляр функции представлен двумя объектами это аргументы+адрес функции и поток выполнения. Первое представлено через делегат, второе через класс thread и на самом деле явно не представлено в C#. У вас всегда есть лишь один поток и каждый вызов функции происходит в одном потоке. Вы можете либо прервать выполнение потока, либо обнулить или вставить пустую функцию используя делегат.
    Но всё это такие извращения для ленивых C# кодеров, что куда проще вызывать функцию в зависимости от условия через оператора if.
    if (10 < 5) {
         Func();
    }

    то есть нет ни каких поводов удалять функцию(и то не саму функцию а её экземпляр), если можно её просто не вызывать.
    Ответ написан
    Комментировать
  • Байт вмещает 256 символов?

    Что за команды? Байт это минимальное количество памяти с которым работает процессор, он может взять 1, 2, 3 байта, но только целыми. Биты вы не впихиваете, байт так и останется байтом даже если у вас меньше 8 единиц, просто вначале будут нули, ни кем не используемые. То есть [0000] - 0, [0001] - 1, [0010] - 2, [0011] - 3 и т.д. просто комбинирование и если вы к примеру кладёте в 111, а потом 11, то в памяти это будет: [00000111] [00000011]... есть способы держать в одном байте несколько переменных, в основном битовые флаги или числа до 16(очень редко, ибо лень). Количество значений это 2(так как это двоичная система) в степени количества БИТ, 1 байт = 8 бит следовательно 2^8=256. Можете для себя взять два - три объекта(irl) выложить в ряд, начать переворачивать и посмотреть сколько вариантов у вас получилось.
    Ответ написан
    1 комментарий
  • Где ошибка в коде c#?

    В конце статьи приведено
    public FiddlerCapture(StressTestForm form)
    {
        InitializeComponent();
        CaptureConfiguration = App.Configuration.UrlCapture;
        MainForm = form;
    
        if (!string.IsNullOrEmpty(App.Configuration.UrlCapture.Cert))
        {
            FiddlerApplication.Prefs.SetStringPref("fiddler.certmaker.bc.key", App.Configuration.UrlCapture.Key);
            FiddlerApplication.Prefs.SetStringPref("fiddler.certmaker.bc.cert", App.Configuration.UrlCapture.Cert);
        }
    }

    Судя по всему ваш класс правильно назвать FiddlerCapture и вставить этот конструктор
    Ответ написан
  • Существуют ли книги по криптографии на C#?

    Криптография это почти целиком и полностью алгоритмы, а писать их на C# всё равно, что сайты на Паскале.
    В самом шарпе есть пространство имён System.Security для таких целей. C# строго типизированный язык, а для ваших частых преобразований она не нужна, собственно говоря вы идёте против одной из основ языка. Но такое майки предусмотрели, тут вам поможет unsafe как раз для таких преобразований. Если приспособить код под bitarray будет сложновато, то int => bool делается с закрытыми глазами.
    Ответ написан
    Комментировать
  • Откуда появляются символы после сохранения файла?

    Вы пишите с 0 байта и ни какого профита вам FileStream не даёт, просто используйте System.IO.File, там проблем быть не должно, почти всё заданно по умолчанию.
    Можете выложить выходные данные? Конкретно: входной массив байт, то что он сохранил, и то что прочитал?
    Ответ написан
    Комментировать