powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Будущее c#
25 сообщений из 290, страница 1 из 12
Будущее c#
    #39732699
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть такая сплетня

Давайте обсудим?
IMHO первое впечатление - вектор движения ошибочный.
Такое впечатление что им платять за каждую новую свистоперделку,
И народ успешно идёт к годовой премии.
Из лаконичного языка получится свалка фитч, что читается уже с трудом.
...
Рейтинг: 0 / 0
Будущее c#
    #39732712
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron,

нет никакого движения, не то что вектора :)
...
Рейтинг: 0 / 0
Будущее c#
    #39732743
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Вектор может быть нулевым, но по отношению к сабжу очевидно не объективно.
У меня нет ни тяги к новым плюшкам ни потребности в них, и как следствие - опыта.
Но вот ЭТО вызывает недоумение:
Код: c#
1.
2.
3.
4.
5.
6.
7.
async IAsyncEnumerable<int> GetBigResultsAsync()
{
    await foreach (var result in GetResultsAsync())
    {
        if (result > 20) yield return result; 
    }
}


Мне уже не понятно - что тут ждём ( или что здесь IAwaitable) ?
IMHO 70% разработчиков тоже не поймут, но напишут код который только машины могут читать.
...
Рейтинг: 0 / 0
Будущее c#
    #39732757
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron,

Все эти неочевидные вещи появляются из решаемых задач, меня сейчас такие задачи не интересуют и потому я не могу оценить - насколько вся это фигня важна, что бы встроить их в язык или фреймворк.
По мне сами async, await хреновые вещи в C#, неправильные, и их развитие никому ничего не даст (они будут использованы только в тех задачах, где в них и появилась надобность).
...
Рейтинг: 0 / 0
Будущее c#
    #39732765
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron,

обычно добавляют далеко не всё.
действительно не очень понятно, но думаю, что асинхронно возвращается IEnumerator<T>
...
Рейтинг: 0 / 0
Будущее c#
    #39732833
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пора валить на жабу скрипт?
...
Рейтинг: 0 / 0
Будущее c#
    #39732835
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_subПора валить на жабу скрипт?
на Go
...
Рейтинг: 0 / 0
Будущее c#
    #39732850
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то каждая новая обнова шарпа кроме гипергликемии не вызывает. Как будто у архитекторов языка уже закончились идеи в каком направлении идти или они думают, что уже находятся на финишной прямой, когда менять уже ничего не нужно.
...
Рейтинг: 0 / 0
Будущее c#
    #39732853
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Будущее c#
    #39732858
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikronТакое впечатление что им платять за каждую новую свистоперделку,

Например?

Как по мне, Nullable reference types самая ожидаемая фича из покон веков. Её ценность можно выразить даже деньгами, не потраченными на фиксы и простои. Я не знаю, почему столько лет потребовалось.

Асинхронные потоки это свистоперделки? Серьёзно??? Ну я даже не знаю, ребят.

Рейнджи и индексы -- ну и хрен с ним, по мне так разумная фича. Правда только когда заюзается в либах на широкую ногу.

Улучшенный паттерн-матчинг, тож свистоперделки?

Выражения в switch давно напрашивались, учитывая, что они уже в других местах давно внедрены.

ИМХО только это

Target-typed new-expressions

выглядит как вред.


mikronИз лаконичного языка получится свалка фитч, что читается уже с трудом.

Target-typed new-expressions

Только этот пункт могу отнести к ухудшению читаемости.


mikronИ народ успешно идёт к годовой премии.

Ну это из разряда зеленей-трава. Лично я вижу ожидаемые давно фичи, и которые сам давным-давно жду.
...
Рейтинг: 0 / 0
Будущее c#
    #39732859
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
дефолтную реализацию интерфейса тоже ждешь?
...
Рейтинг: 0 / 0
Будущее c#
    #39732860
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123vb_sub,
https://habr.com/post/346214/

Да, на бомбалейло в комментариях любо посмотреть.

НИ ПОРТИТЕ НАШ ЕЗЫК!!
...
Рейтинг: 0 / 0
Будущее c#
    #39732878
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКак по мне, Nullable reference types самая ожидаемая фича из покон веков.Не, знаю, может кто-то и застрял во временах 5.0, но лично я с момента перехода на 7.0 ValueTuple использую постоянно и непрерывно, и даже перевел на него кое-какие библиотечные функции. И Nullable reference types жду с нетерпением, ибо это решит просто огромную массу отложенных проблем, переведя их на момент компиляции.
...
Рейтинг: 0 / 0
Будущее c#
    #39732924
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ViPRos, вчера, 23:59 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305305&msg=21733671][21733671]
>...По мне сами async, await хреновые вещи в C#, неправильные,...
<Не могу с Вами согласится.
Что в них плохого?
К примеру, мне надо надергать из базы данных выборки извещений разных форматов и построить из них список сущностей:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
          - - - 
          else { //-- Крайний срез существует
            //-- Загружаем параметры крайнего среза 
            lst_Entity = null; lst_Entity = new List<row_Entity>();
            psp[0] = new object[2] { "x_datesre", dt_srez_old };
            await Task.Run(() => wsp.Entity_SP("NCUYAO_GIS.Srez_Sel", wsp.sp_Sel, psp, RowToEntity));
            if (wsp.wspErr != null) goto mp1;

            //-- Загружаем извещения б... после крайнего среза в уже имеющийся список сущностей
            object[][] psp2 = new object[3][];
            psp2[0] = new object[2] { "x_dt_srez_new", dt_srez_new };
            psp2[1] = new object[2] { "x_dt_srez_old", dt_srez_old };
            psp2[2] = new object[2] { "x_format", "12" };
            await Task.Run(() => wsp.Entity_SP("NCUYAO_GIS.Srez_Dop", wsp.sp_Sel, psp2, RowToFormat12));
            if (wsp.wspErr != null) goto mp1;

            //-- Загружаем извещения п... после крайнего среза в уже имеющийся список сущностей
            psp2[2] = new object[2] { "x_format", "11" };
            await Task.Run(() => wsp.Entity_SP("NCUYAO_GIS.Srez_Dop", wsp.sp_Sel, psp2, RowToFormat11));
            if (wsp.wspErr != null) goto mp1;

            //-- Цикл формирования списка pk ТБ и обработки извещений р... после крайнего среза в уже имеющийся список сущностей
            StringBuilder sb = new StringBuilder();
            foreach (row_Entity xrow in lst_Entity) sb.Append(xrow.pk + ",");
            int astr = (sb.ToString()).Length;
            psp2[0] = new object[2] { "x_pk", sb.ToString() };
            psp2[1] = new object[2] { "x_dt_srez_new", dt_srez_new };
            psp2[2] = new object[2] { "x_dt_srez_old", dt_srez_old };
            await Task.Run(() => wsp.Entity_SP("NCUYAO_GIS.Srez_RN", wsp.sp_Sel, psp2, RowToRN));
            if (wsp.wspErr != null) goto mp1;
          }
        }
        //-- Покажем список сущностей
        if (lst_Entity != null) {
          //-- Сортируем список
          lst_Entity = lst_Entity.OrderBy(x => x.baz).ThenByDescending(x => x.rn).ThenBy(x => x.namvrr).ThenBy(x => x.pk).ToList();
          oc_Entity = new ObservableCollection<row_Entity>(lst_Entity);
        - - -
...
Рейтинг: 0 / 0
Будущее c#
    #39732930
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевК примеру, вопрос без простыни кода можешь задать?
...
Рейтинг: 0 / 0
Будущее c#
    #39732932
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,
Твой код вообще для шарп третьей версии.
...
Рейтинг: 0 / 0
Будущее c#
    #39732937
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_subhVostt,
дефолтную реализацию интерфейса тоже ждешь?

На самом деле, действительно полезная фича. На сегодняшний день решается только с помощью методов расширения.
...
Рейтинг: 0 / 0
Будущее c#
    #39732938
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Petro123, сегодня, 12:28 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305305&msg=21734030] [21734030]
>Твой код вообще для шарп третьей версии.
<Мне было важно показать, что весь код располагается в одном методе. С BackgroundWorker-ом так не получается. Нарушается линейность кода. Код беру из работающих приложений.
...
Рейтинг: 0 / 0
Будущее c#
    #39732940
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProНе, знаю, может кто-то и застрял во временах 5.0, но лично я с момента перехода на 7.0 ValueTuple использую постоянно и непрерывно, и даже перевел на него кое-какие библиотечные функции. И Nullable reference types жду с нетерпением, ибо это решит просто огромную массу отложенных проблем, переведя их на момент компиляции.

У ValueTuple один бич. Его начинают выставлять наружу, в интерфейсы. Я с этим категорически не согласен, так делать нельзя. А так да, ValueTuple для внутренней реализации очень и очень даже удобный инструмент, и эффективный к тому же.
...
Рейтинг: 0 / 0
Будущее c#
    #39732941
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Код: c#
1.
if (wsp.wspErr != null) goto mp1;



ээх.. глаза закровоточили, развидеть )
...
Рейтинг: 0 / 0
Будущее c#
    #39732944
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевНарушается линейность кода. goto помогает в линейности))))).
Не пиши простыни сюда.
...
Рейтинг: 0 / 0
Будущее c#
    #39732945
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttВМоисеев
Код: c#
1.
if (wsp.wspErr != null) goto mp1;




ээх.. глаза закровоточили, развидеть )этот оператор еще работает?
...
Рейтинг: 0 / 0
Будущее c#
    #39732949
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttvb_subhVostt,
дефолтную реализацию интерфейса тоже ждешь?
На самом деле, действительно полезная фича. На сегодняшний день решается только с помощью методов расширения.
А как же реализацией метода в базовом классе?
...
Рейтинг: 0 / 0
Будущее c#
    #39732956
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>hVostt, сегодня, 12:40 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305305&msg=21734047][21734047]

>ээх.. глаза закровоточили, развидеть )
<Проморгаешь, какие твои годы.
Хотя использую и такой вариант:
Код: c#
1.
if (wsp.wspErr != null) { MessageBox.Show(wsp.wspErr, caption_Entity, MessageBoxButton.OK); return; }

и такой:
Код: c#
1.
if (wsp.wspErr != null) { throw new Exception(wsp.wspErr);}
...
Рейтинг: 0 / 0
Будущее c#
    #39732961
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttУ ValueTuple один бич. Его начинают выставлять наружу, в интерфейсы. Я с этим категорически не согласен, так делать нельзя. А так да, ValueTuple для внутренней реализации очень и очень даже удобный инструмент, и эффективный к тому же.Я наружу не выставлял, но почему это плохо?
...
Рейтинг: 0 / 0
25 сообщений из 290, страница 1 из 12
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Будущее c#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]