Relonir, конкретный вопрос, например - это "как перемешать числа в списке", "как одномерный массив превратить в матрицу 5*5", "с помощью чего можно вывести таблицу [рисунок таблицы] в пользовательском интерфейсе" и так далее. Тут нет экстрасенсов и никто не знает ваш контекст, ТЗ, и уровень ваших знаний, по тому и нельзя задавать общие вопросы "как мне реализовать комплексную задачу"
Ice, ну ещё не забываем про то что вызывается колбэк, вместо кода тела и ещё то что происходит постоянное копирования массивов. Если ещё и по цепочке это происходит - ещё хуже. Ещё всякие оптимизации от JIT-компилятора могут лучше ложиться на обычный код
Вы даже не указали, на какой это операционной системе происходит, и что вы используете для запуска приложения - .NET Framework, Mono, .NET Core и версию - это очень важно для решения вопроса.
Ну ещё я бы посоветовал вам обновиться - 4.1 вышла больше 6 лет назад, или вообще перейти на Visual Studio (если Windows), или на Rider (если денег не жалко, или подпадаете под условия студенческой лицензии), ну или можете ещё попровать новый MonoDevelop и VS Code с C# плагином
LiptonOlolo, например для тех случаев, когда TCP не пригоден для использования) Например в мобильных сетях, с большим jitter и packet loss, можно написать свой протокол, который будет учитывать эти особенности. Но да - оно автору вопроса точно не нужно.
> И подскажите что вообще использовать tcp, udp, http ?
Зависит от задачи
UDP - быстрый, но из коробки не даёт защиту от потери пакетов. Подходит для онлайн-игр.
TCP - Надёжный, сравнительно быстрый, даёт защиту от потери пакетов, подходит для создания легковесных API, можно передавать файлы. Есть разделение на клиент и сервер
HTTP - Жирный и простой, можно передавать файлы, При работе есть явное разделение на HTTP-клиент и HTTP-сервер.
Получить доступ к текущему проекту (именно проекту) не выйдет.
Можно во время компиляции записать в какую-нибудь константу путь к исходникам, но зачем это надо - не понятно
Мне кажется, вы немного не для того хотите использовать Си. Если хотите парсеры и ботов делать, чтобы они мало жрали ресурсов, то можете попробовать Rust, благо на сегодня он достаточно неплохо развит для подобных задач.
Илья, вообще действительно не понятно, что это за код и почему он именно такой. Придирка к Thread.Sleep действительно лишняя - в данном случае это не страшно.
Я бы написал так:
var rand = new Random();
while (true)
{
var number = rand.Next(0, 99);
Console.Clear();
Console.Write(number);
Thread.Sleep(100);
}