Здравствуйте, vaa, Вы писали:
vaa>И что из всего перечисленного самое "вкусное"?
Для авторов обобщённых библиотек вот это: Preview Features in .NET 6 – Generic Math. Static abstracts in interfaces полезно не только для «generic math», но на нём нагляднее всего.
Здравствуйте, Kolesiki, Вы писали:
K>Здравствуйте, Serginio1, Вы писали:
S>>String Interpolation in C# 10 and .NET 6
K> И только сейчас, когда прошла уйма времени и профукано миллионы баксов, девелоперы решили сделать что-то полезное. Капец... вот воистину "лучшее яблоко свинья съест"!
Ну то, что о RuyJit совершенствовали это тоже профукано. Ну не дошли руки. Сейчас с опен соурсом и облаками закрывают горячие предложения.
Мог бы и сам по примеру Func<T,...,string> сделать оптимальный вариант
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, vaa, Вы писали:
vaa>Здравствуйте, Serginio1, Вы писали:
S>> Ну уно это браузер, а MAUI ближе к устройству
vaa>вот и это без йос и андроид, и в уно есть неплохой датагрид в wct
MAUI это наследник Xamarin.Forms а там и для йос и андроид.
А вот Blazor все таки более интересный проект
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
S>MAUI это наследник Xamarin.Forms а там и для йос и андроид.
Я имел ввиду что в uno все тоже самое и даже больше, вот так вчера на linux пробовал, только на uwp почему-то ругнулось видимо тутор устарел
dotnet new unoapp -o MyApp -ios=false -android=false -macos=false -uwp=false --vscodeWasm
как и известная Avalonia рисуется через Skia в любой выхлоп типа линукс-фрэйм-буфера.
Для кроссплатформенного десктопа вполне годно,
к тому же вроде как уно в отличии от замарина это коммьюнити с поддержкой мс.
и в отличии от многостарадальной авалонии уже в кодэ поддержка xaml появилась.
жалко авалонию, конечно.
K>После беглого чтения кажется я понял — после 19 лет безобразных библиотек они наконец прозрели, что string.Format — не самая удачная реализация и "надо что-то делать". K>Может кто-то рационально объяснить, ЧЕМ надо было быть так занятым 19 лет, что одна из самых используемых функций была сделана на отъ****ись и при этом никто её даже пальцем не тронул, чтобы улучшить?! Вот практически всё, что они написали негативного о string.Format в статье — это же не секрет какой, ну! Тем более для тех, кто владеет сорсами. И только сейчас, когда прошла уйма времени и профукано миллионы баксов, девелоперы решили сделать что-то полезное. Капец... вот воистину "лучшее яблоко свинья съест"!
Ну так кодогенерацию завезли наконец. Теперь можно без крови и пота внедрять требующие ее вещи.
Здравствуйте, vaa, Вы писали:
vaa>Здравствуйте, Teolog, Вы писали:
T>>Ну так кодогенерацию завезли наконец. Теперь можно без крови и пота внедрять требующие ее вещи.
vaa>после беглого знакомства с темплэйтами T4 кажется они решали это проблему не хуже, а может даже и лучше.
Source Generator это доступ к исходному коду используя Roslyn http://rsdn.org/forum/dotnet/7984914.flat
Здравствуйте, VladCore, Вы писали:
VC>Здравствуйте, Jack128, Вы писали:
S>>>String Interpolation in C# 10 and .NET 6
J>>Ну наконец. Здравствуй String Interpolation в логах.
VC>Т.е. вот тут не будет ни массиива создаваться для аргументов и боксинга не будет и строка формата не будет каждый раз парситься?
VC>
Здравствуйте, Sharov, Вы писали:
J>>>А я не понял, какое отношение xml/json и вообще твой код имеет к конкретной языковой фиче под названием string interpolation? Ускоряется именно она. J>>>А избежать боксинга и создания массива в твоем коде можно и сейчас. VC>>а я кое что понял. ты не понимал что писал вот тут: http://rsdn.org/forum/dotnet/8070529.1
S>. S>А какая связь конкретного формата лога и получение строки для логирования? Речь идет об оптимизации S>строки для логирования -- минимум алокаций, парсинга и т.п.
Здравствуйте, Serginio1, Вы писали:
S>Source Generator это доступ к исходному коду используя Roslyn
Рослин уже давно под капотом, а xaml как не любил одинаковые названия тип==наймспайс
так и не любит. и потом это все(кодогенеротор) уж больно тупит, дважды пробовал примеси, то дизайнере не видит новые типы, то в билде.
Здравствуйте, vaa, Вы писали:
vaa>Здравствуйте, Serginio1, Вы писали:
S>>Source Generator это доступ к исходному коду используя Roslyn
vaa>Рослин уже давно под капотом, а xaml как не любил одинаковые названия тип==наймспайс vaa>так и не любит. и потом это все(кодогенеротор) уж больно тупит, дважды пробовал примеси, то дизайнере не видит новые типы, то в билде.
Ну значит, что не так в консерватории. В новых версиях студии уже и нагенеренный код показывает https://devblogs.microsoft.com/visualstudio/visual-studio-2019-v16-9-preview-3/
и солнце б утром не вставало, когда бы не было меня
Честно говоря пока все грустно. запилил сегодня для тестов впф апп на коре 5.0 две формочки. селф-контэйнер. под 200 мб.
запускается — уснуть можно. все ж ВМ зло.
Здравствуйте, vaa, Вы писали:
vaa>Здравствуйте, Serginio1, Вы писали:
S>>Кстати еще развивается Blazor Desktop https://visualstudiomagazine.com/articles/2021/02/17/net-6-preview-1.aspx
vaa>Честно говоря пока все грустно. запилил сегодня для тестов впф апп на коре 5.0 две формочки. селф-контэйнер. под 200 мб. vaa>запускается — уснуть можно. все ж ВМ зло.
Используй UWP там .Net Native!
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, VladCore, Вы писали:
VC>я не понял. к записи в логах будет то аттачится xml/json со значениями id, major, minor, build, revision?
Вот так, судя по всему, сделать не получится. Информация об именах переменных к моменту вызова логгера теряется.
Но если вы хотели добавить не строку, собранную на основе указанного формата, а структурированную информацию, то гораздо удобнее делать это, не дожидаясь C# 10:
_logger.LogInformation(MyLogEvents.GetItem, new {id, major, minor, build, revision});
Здесь логгер получит как значения аргументов, так и их имена. И сможет дописать
За ворохом больших (и крутых) фич, не увидели маленькую, но полезную фичу (которой мне лично всегда не хватало), доступна в третьем превью (компилятор кому не терпелось, можно было собрать чуть раньше ):
public class Check
{
public static void That(bool condition, [CallerArgumentExpression("condition")] string? conditionText = null)
{
if (!condition) throw new InvalidOperationException(conditionText);
}
}
Здравствуйте, Serginio1, Вы писали:
S>Используй UWP там .Net Native!
Мне вот другое не понятно. Акиньшин из джетбрэйнса работает над микрооптимизацией ядра.
Со всех утюгов кричат мы апнули перформанс сильно в новой версии корки. теперь уже просто НЕТ.
Так объясните почему стартует аналогичная по функционалу прога(типа привет мир) сильно медленнее(заметно без секундомера)
старого классического фрэймворка заточенного под винду? да впф и в классике на слабом железе заставлял нервничать, но сейчас! с ссд стартует аналог
просто позорно медленно. у нас же восхитительный перформанс основанный на агрессивных оптимизациях.
!щёрт подери!
на линуксе обратил внимание что сначала стартует хост-процесс, и затем уже процесс приложения. но неужели так сложно загрузить несколько сборок.
Что не так? причем обрезание и редитуран все еще глючит и непонятно что дает кроме увеличения времени сборки