• Переход от одной формы к другой не работает?

    foxlye
    @foxlye Автор вопроса
    Дело было в том, что везде прежние названия форм в коде, нужно было заменить на новые.
    Всем спасибо.
    Ответ написан
    Комментировать
  • Как распарсить json массив?

    @OwDafuq
    json2csharp.com

    public class Section
    {
        public string type { get; set; }
        public string group { get; set; }
        public int count { get; set; }
        public string name { get; set; }
        public string displaytype { get; set; }
        public List<object> data { get; set; }
    }
    
    public class RootObject
    {
        public string xmlns { get; set; }
        public string status { get; set; }
        public string version { get; set; }
        public int webplayer { get; set; }
        public string responsetype { get; set; }
        public List<Section> sections { get; set; }
    }
    Ответ написан
    2 комментария
  • Какие языки выбрать для разработки сайтов, мобильных приложений/игр и как подрабатывать во время обучения?

    Первый язык - Английский. Приоритеты неправильные, сначала попробуй можешь ли разрабатывать, а потом подумаешь как зарабатывать. Хороший Software Developer работу найдет всегда, но далеко не каждый может им стать.
    Ответ написан
    3 комментария
  • Удаленная работа с Европой/Америкой Ваш опыт?

    vicodin
    @vicodin
    Имею некоторый опыт
    Западные компании платят в 3-5-10 раз больше. В среднем US > EU.
    Начиная с уровня Junior, если знаешь английский язык.
    Особенности работы - клиенты более корректные и деловые, когда работаешь с ними, возникает скорее ощущение партнёрства, нежели иерархии.
    Ответ написан
    Комментировать
  • Есть ли разница между горутинами и await в C#?

    Tyranron
    @Tyranron
    Несмотря на то, что эти инструменты созданы для решения одних и тех же проблем, делают они это по-разному, как под капотом, так и в плане предлагаемых абстракций. Потому нельзя сказать что async/await в C# - это "просто обертка над горутинами".

    Горутины в Go - это концепция stackful coroutines (под капотом) + CSP (в абстракциях). Каждый раз, когда мы создаём горутину, под неё выделяется отдельный стек вызовов для её собственных нужд. При этом, когда происходит паника, то stack unwinding (размотка стека вызовов) происходит только в пределах этой горутины и не покидает границ её стека. Стек горутины полностью отвязан от стека её создания/вызова, потому горутина не может возвращать результат. Любое общение между горутинами выполняется либо посредством каналов, либо какой-то общей памяти.

    async/await в C# (то есть, Task'и) - это концепция stackless coroutines (под капотом) + futures (в абстракциях). Код с async/await'ами компилятор превращает в определенную стэйт-машину с yield point'ами. У них нет отдельного стека, они выполняются в том же стеке что и вызывающий их код. Соотвественно, есть возможность словить exception'ы (аналог panic'и) возникающие внутри асинхронного Task'а прямо в запускающем его коде. Так как выполнение идёт на том же стеке - Task нормально может возвращать результат и мы его можем считать в вызывающем коде без дополнительных примитивов/инструментов.

    При этом, если мы запустим Go с GOMAXPROCS=1, то мы получим однопоточный асинхронный код в Go (по умолчанию он многопоточный). Также и в C# мы можем выполнять Task'и как на одном потоке, так и на thread pool, получая аналогичные Go гарантии рантайма.

    С точки зрения абстракций/использования - это уже вкусовщина. Кому как больше нравится. У futures лучше дизайн в плане composability (их эргономичнее join'ить и select'ить), но они вынуждают писать везде async и await. У горутин надо постоянно городить чехарду с синхронизацией (попробуйте сделать аналог await для произвольной горутины), но если эту чехарду прятать под капот (как обычно и делают), то код вообще выглядит полностью синхронным и программисты радуются.
    Ответ написан
    4 комментария
  • WinForms в monodevelop на ubuntu?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    ни как
    (upd см камент от Foggy Finder про https://github.com/picoe/Eto но стоит помнить, что это:
    1 - эмуляция
    2 - частная инициатива
    ++
    makarychev13 в каментах тут, утверждает что
    майки сделали винформы кроссплатформенными в .NET Core 3
    хотя и без пруфа, но что то гуглится.. надо понимать, что "майки" мало чего будут делать просто так. тут главный вопрос востребованность (особенно в энтерпрайзе, но в нем самом, формы, как бы уже признаны маргинальной веткой эволюции).. ).
    ... .NET WinForms по своей сути, является оберткой над интерфейсной частью win32 api, которого за пределами винды нет, ни когда не было, и ни когда не будет* (upd см каменты, возможно формочки будут кросами в .NET Core. но не сегодня точно). другой вопрос WPF - это глобально переработанный интерфейс к системе. и возможностей больше, и на полпути к кросу - Xamarin и AvaloniaUI, основаны на XAML. получив опыт WPF, в них будет легче стартовать. ну или сразу можно с них начинать, если винда не нужна (или сразу нужен кросс).
    Ответ написан
    7 комментариев
  • Отсутсвие await гарантирует выполнение async метода?

    shai_hulud
    @shai_hulud
    await только подписывается на результат awaitable (в нашем случае Task). И то будет ли выполнятся этот не зависит от await т.е. от тех кто его может ждать. т.е. ответ - Да, Notify() будет себе часами молотить. Если внутри будет ошибка, то лучше подписаться на результат и скипнуть ошибку. Notify().ContinueWith(t=> { var x = t.Exception; ... });

    Task.Run(async () =>
    Так делать не стоит, это ошибка, которую часто совершают. 'async => ()' это уже стейт-машина которая запускается вызовом, ее не надо шедулить через таски.
    Правильный пример:
    new Func<Task>(async =>  {
        try
        {
            await _notification.Notify();
        } catch(Exception ex) {
            // TODO: Логируем исключение
        }
    }).Invoke();

    Но опять же это всё не нужно в текущей задаче, можно вызвать ContinueWith.
    Ответ написан
    2 комментария
  • Где ошибка в SendMessage неактивному окну?

    @martensit Автор вопроса
    Все таки был неправильный HWnd указан.
    Для SendMessage нужно указывать HWnd не самого окна, а именно HWnd дочернего поля, куда нужно послать нажатие клавиши.
    Ответ написан
    Комментировать
  • Настольные приложения типа WPF на Windows для macOS?

    @SZolotov
    Asp.net core, MAUI,WPF,Qt, Avalonia
    Qt - это из плюсов
    Avalonia, Xamarin Forms, Xamarin.Mac, GTK# - это из C#.
    Ближе к WPF - Avalonia, Xamarin Forms. Там тот же XAML и те же подходы в разработке.
    Ответ написан
  • Какой придумать проект, связанный с работой с базами данных?

    @deniz1983
    ...
    Авиакассу по продаже билетов. Отдельные таблицы бд для рейсов, билетов, пассажиров и т.д. И «вишенкой на торте» слелать типа статистика по продажам за месяц.
    Ответ написан
    Комментировать
  • Какой придумать проект, связанный с работой с базами данных?

    ArsenyMatytsyn
    @ArsenyMatytsyn
    Руководитель frontend направления, предприниматель
    Ойти дело в принципе скучное. Отличие только в том, что эта абстрактная область, например магазины, в данный момент в твоей плоскости интересов.

    А вообще:
    1. Магазины
    2. Социалки
    3. Поисковой паук
    Ответ написан
    2 комментария
  • Какой придумать проект, связанный с работой с базами данных?

    так чтобы была активная работа с базой данных

    Под этот критерий подходит вообще любая задача, подразумевающая хранение данных между сессиями. Туду-лист, еженедельник, записная книжка, форум, магазин, доска объявлений...
    Ответ написан
    5 комментариев
  • Как создать текстовый редактор в VisualStudio2017?

    GavriKos
    @GavriKos
    Чтобы не завалить проект - начинать надо с описания проекта - тобишь технического задания. И дальше уже на его основе определять что вам нужно и как это сделать.

    P.S. В VS2017 немало языков программирования. И платформ. Вот начните хотя бы с этого.
    Ответ написан
    2 комментария
  • Как загрузить изображение на сайт через c# selenium chromedriver?

    MrMureno
    @MrMureno
    VR for all
    а зачем вы открыли диалоговое окно то?? оно системное..
    вам надо просто подставить путь, будто бы оно было открыто и вернуло путь..

    ну и еще можно гуглить на англ))
    довольно толково с кучей примеров..по первой же ссылке.
    https://stackoverflow.com/questions/8851051/seleni...
    Ответ написан
    Комментировать
  • Почему не добавляет элемент в список?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Вероятно, вы где-то пересоздаёте список meet. Поставьте readonly на поле meet (а ещё лучше, переименовать её на MeetingsList)
    public readonly List<Meetings> MeetingsList = new List<Meetings>();

    Это предотвратит случайное перезаписание переменной.

    >foreach (Meetings meet in meet)
    Тут ошибка в коде, нельзя создать переменную-счётчик цикла Meetings meet, потому что переменная с именем meet уже есть. Если ошибка здесь не возникает, то, скорее всего, в какой-то из двух имён вместо английской "e" стоит русская "е".
    Ответ написан
    4 комментария
  • Какой диплом нужен,чтобы устроиться в IT компанию?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    У меня нет вышки - я бросил ЛЭТИ на третьем курсе. Сейчас я руководитель IT отдела крупной организации в СПБ, Senior Software Developer и Solution Architect. Делайте выводы
    Ответ написан
    2 комментария
  • Какой диплом нужен,чтобы устроиться в IT компанию?

    sanek_os9
    @sanek_os9
    Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux
    Ни разу не видел в требованиях комании наличие диплома, в вакансиях пишут перечень технологий, зная которые вас могут взять, от вас требется только это. Поэтому определитесь на какую должность вы хотите устроится, на такую и идите учиться, главное нужно помнить что поступаете вы не ради диплома, с дипломом и без знаний вас не возьмут.
    Ответ написан
    Комментировать
  • Какой диплом нужен,чтобы устроиться в IT компанию?

    У меня например диплом електрика. Как правило специальность в дипломе не играет решающей роли при трудоустройстве в ИТ, играют роль специфические знания. Но, сильно зависит от специализации в ИТ, например на фронта редко в институте можно получить актуальные знания и поэтому тут все зависит от способности постоянно учиться самому, а на проекты вроде автопилотов часто математики выглядят намного убедительнее людей с ИТ кафедры.
    Ответ написан
    1 комментарий
  • Можно ли на WPF создавать самостоятельные приложения для частного использования?

    Можно ли на WPF создавать самостоятельные приложения для частного использования?
    Эти приложения могут индивидуально писаться под заказ как сайты к примеру?

    А кто запрещает?
    Что еще нужно, чтобы сделать цельное приложение?

    А что это "цельное" приложение должно делать?...
    Ответ написан
    23 комментария
  • Как парсить текст в CSV формате игнорируя запятые внутри кавычек и без сторонних библиотек?

    @Sumor
    По мотивам ответа mefutu
    Примерное решение на конечном автомате:
    using System;
    using System.Text;
    using System.Collections.Generic;
    					
    public class Program
    {
    	public static void Main()
    	{
    		Console.WriteLine(string.Join("|", Parse("Мама,\"мыла, блин\", раму,\"мама, мыла \"\"раму\"\"\",конец")));
    	}
    	
    	public enum StateEnum{Start, StartQuot, Inline, InlineQuot}
    	
    	public static IEnumerable<string> Parse(string str)
    	{
    		var state = StateEnum.Start;
    		var sb = new StringBuilder();
    		foreach(var ch in str)
    		{
    			switch(ch)
    			{
    				case '"':
    					switch(state)
    					{
    						case StateEnum.Start:
    							state = StateEnum.StartQuot;
    							continue;
    						case StateEnum.StartQuot:
    						case StateEnum.InlineQuot:
    							state = StateEnum.Inline;
    							sb.Append('"');
    							continue;
    						case StateEnum.Inline:
    							state = StateEnum.InlineQuot;
    							continue;
    					}
    					break;
    				case ',':
    					switch(state)
    					{
    						case StateEnum.Start:
    						case StateEnum.InlineQuot:
    							yield return sb.ToString();
    							sb.Clear();				
    							state = StateEnum.Start;
    							continue;
    						case StateEnum.StartQuot:
    						case StateEnum.Inline:
    							sb.Append(',');
    							state = StateEnum.Inline;
    							continue;						
    					}
    					goto default;
    				default:
    					sb.Append(ch);
    					break;
    			}
    		}
    		yield return sb.ToString();
    	}
    }
    Ответ написан
    Комментировать