Как стать автором
Обновить

Комментарии 15

«Можно ли в C# „поковырять“ память, которую вы не выделяли*?»
А через unsafe-режим разве низя?
Ну unsafe режим это логично и очевидно. Потому он и называется unsafe… Скучно ж.
LayoutKind.Explicit — это ровно тот же unsafe, и то, что компилятор при его использовании не требует соответствующего ключевого слова — это, скорее, недоработка авторов языка. Аналогично Marshal и т.д.
Я отвечал про режим сборки. Так-то если копать то весь .net в конечном итоге опирается на unsafe методы… важнее, конечно, знания вида «будет ли это работать не в fulltrust»…
А так-то я, конечно, согласен с комментарием.
Чё-то почти все задачи из серии «как почесать левой пяткой правое ухо».
Ну разве что четвёртая еще туда-сюда, но тоже жутчайшая синтетика: 99% С#-пистов вручную GC не зовут никогда.
Всё что «просто» описано всюду (я даже одну из ссылок привёл для примера). Разве это интересно?)
GC вызван для демонстрации (ну не ждать же его в демо?).
2 интересна для понимания того как оно работает
5 просто нужно знать, с этим сталкивался не раз.
6 полезная штука, применял на практике (для хранения цвета, с «бесплатным» доступом как к байтовым компонентам ARGB, так и в виде uint — производительность была очень важна, и этот подход хорошо помог)
Весь маршал один сплошной ансейв!
> Можно ли создать программу, где используется await для метода, который не помечен как async?
Всё гораздо проще, даже не нужно выдумывать новые классы:

private async static void MainAsync()
{
    await Foo();
}

static Task Foo()
{
    return Task.Delay(1000);
}

Дело в том, что на возможность await влияет не факт того, помечен или нет целевой метод как async, а возвращаемый тип. Поэтому я бы назвал эту задачу: «Можно ли await метод, который возвращает не Task?».
Да, спасибо. Ошибка в формулировке исправлена 8-)
Вообще, спасибо, что подняли тему асинхронности. Грустно в последнее время видеть различные туториалы, которые используют I/O (в особенности, сеть) и не используют асинхронность. Учитывая, насколько удобным и прозрачным получился паттерн async/await, в C# подобные вещи, реализованные синхронно, имхо, должны считаться моветоном :)
00280127 8BE5             интересно а кто-то вообще обращает внимание что тут написано?)

Люблю пасхальные яйца
Спасибо за TaskCompletionSource, честно не знал :)
Не знал ответа ни на один вопрос, я теперь не могу считать себя middle?)))
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории