Это копия, сохраненная 8 марта 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
- https://github.com/CSharpShapka/SharpHat/wiki
Прошлый
- https://2ch.hk/pr/res/1095933.html (М)
Не забывайте оформлять свой код
- https://ideone.com/
- https://pastebin.com/
Просто индусы на двоче не сидят
Лучше документацию почитай, чем книги обоссаные
-->1115228 - этот дело говорит. Сейчас такие туториалы пишут, что книги не нужны, чтобы начать что-то делать. Потом когда уйдешь в задротство совсем или решишь какие-то фундаментальные вещи понять как работают, тогда будешь толмуды всяких дедов-байтоебов зачитывать. Но это уже совсем другая история.
Премного , анон
TypeLoadException: Could not load type 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUser' from assembly 'Microsoft.AspNetCore.Identity.EntityFrameworkCore, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
C# in a nutshell
нахуя
Натурально путаюсь. Посоветуйте какой нибудь курс по ASP.NET Core. Или еще чему нибудь востребованному.
Ну или хотя бы к каким университетам приглядываться.
Еще заметил интересную деталь. Все курсы по дотнету от китайцев и их университетов. Дико ахуел. Как так то. Майкросовт же.
Один только университет ньюмехико что то там по вебдизайну предлагает.
И да, важный вопрос. Вот постоянно натыкаюсь на рекламу ДАТА САЙЕНС.
Это просто работа с базами данных, или что то сложнее? Востребованная хуйня, стоит ли тратить время?
>Посоветуйте какой нибудь курс по ASP.NET Core.
Трей Нэш написал неплохую книгу в 2010 году, больше я ничего не нашёл (перерыл горы литературы).
>Дико ахуел. Как так то. Майкросовт же.
Чё тут непонятного-то.
>Это просто работа с базами данных, или что то сложнее?
Не трогай ДАТА САЙЕНС, учи программирование (алгоритмы, запросы к БД, многопоточность и т.д. — в общем, книготред рядом).
Да так то я програмкую на кодворсе, вот решил какую то востребованную технологию изучить.
За книгу спасибо.
это он про codewars.com
Сайт кодварс, там практикуюсь на задачках. Задачки дюже интересные. Правда нет по работе с Базами данных, и потоками.
Эй, потомки, как там, в 2018 завезли в F# тайпклассы из хачкеля или этот высер всё ещё остался ML версией сисярпа?
Что то я тебя не понял, то есть доки по твоему не учат тому за что деньги платят? Или ты неосилятор?
Какая разница, если туда не завезли табы?
Не поленись, распечатай самое основное на 2,3 листа А4. Сверните и таскай с собой в кармане.
А самое главное, это типы переменных с допустимыми диапазонами чисел. Ключевые слова (примерно 50 слов). Несколько примеров объявления:Классов, Функций, процедур, переменных, и пр.
Это конечно мелочи, и по объему это не сравнит. С 500 листовыми PDF кгигами для чайников, НО! Это инфа - самая главная , самая базовая в любом языке программирования.
Еще не забудь наследование.
переносишь программу на другой комп, начинает пиздеть про недостающие assemblies. Делаешь copy locally и перетаскиваешь с dll. Но пиздит, что не находит assembly версией ниже той, что была в референсах при сборке
Приложение в windows forms. При нажатии на определенную кнопку срабатывает метод, который создает CancellationToken и передает его в асинхронный метод, в котором в цикле создаются несколько объектов класса (на них еще один асинхронный метод вызывается). Так вот, если в этот класс добавить хоть одно событие и потом вызвать его там, то почему-то выбрасывается исключение NullReferenceException на ранее созданный CancellationToken. Было у кого подобное? Если кому интересно - могу описать проблему чуть подробнее.
Вот тут еще есть небольшой примерчик на эту тему:
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/cancel-an-async-task-or-a-list-of-tasks
>могу описать проблему чуть подробнее
Давай
Работая в async ты как бы в другом треде. Как пример, из обработчика приема данных через COM-порт нельзя напрямую обращаться к GUI, т.к. обработчик сидит в другом треде, чем тред GUI
При использовании async/await можно обращаться к GUI, это одно из главных преимуществ по сравнению с пердолингом при использовании Thread.
Джаваёбы с крестовыми байтоёбами и обмазывают. Смотри тьюториалы и осваивай. Микрософт задаром 3 лярда не дал бы.
>можно обращаться к GUI
все мне известные примеры используют Task<T>, которыя выполняется асинхронно.
Из нее к GUI напрямую никак. Только через Invoke
программе строится на пакете двайверов под .NET, чтобы отращаться к железу (карта GPIB от National Instruments). Соответственно, есть пара таких специфичных using.
Я не хочу и не могу установить весь пакет на другом компе. От производственный и будет беда, если новые двайвера похерят старые и все сломается (хотя там все на дремучем VB6 с прямым обращением к gpib-32.dll). Но даже 1% вероятности херового результата меня останавливает.
Проблема с недостающими assemblies, судя по тому, что я нагуглил, распространена весьма широко.
Как мне взять с собой то, что будет нужно?
По синтаксису с# на 95% нативный С
К нему прибавляются ништяки вроде foreach, try-catch
В c# отсутствует байтоёвство, присущее С. Например, имея бинарные данные с известной структурой в байтовом массиве, из просто так не разложить по полочкам указателями как в С. Надо выебнуться на более высоком уровне.
Если ты в программировании нуб, Керниган всё аккуратно объяснит
Потому что она доступна не только для чтения.
Видимо ты не понимаешь разницы reference type и value type.
Забей, он не в курсе что Xamarin значит
>foreah (var hole in your_mom.GetAllHoles())
>hole.diameter = 100;
Мы меняешь diameter, не hole
Try hole == null;
Так переменная hole на самом деле это просто ссылка типа int, в которой записан адрес по которому хранится объект. Если перезапишешь эту ссылку, ты только изменишь адрес на который она указывает и все.
Чтобы изменить ссылку на объект внутри объекта your_mom тебе нужно перезаписать ее прямо. Например, your_mom.hole1 = null;
foreach ничем не отличается от например var hole = your_mom.hole1; hole = null;
Или тебе нужна ссылка на ссылку, в C# это ref.
Сейчас ref можно использовать только с параметрами. Но скоро добавят функцию возвращения ref из функций. Тогда можно будет написать как-то так:
ref var hole1 = your_mom.hole1; hole1 = null; и тогда ты изменишь hole1 в классе your_mom
Короче, ты не понимаешь как устроена память. Иди учи.
Сравни:
string[] str = new String[] {"you", "are", "faggot"};
foreach (var you in str)
you == "test";
Console.WriteLine(string.Join(",",str));
и
for (int i = 1; i<strLenght;i++)
str = "test"
Console.WriteLine(string.Join(",",str));
А затем почитай на тему того, как foreach является syntatic sugar для Enumenator
Ты правда такой тупой? В массиве ты перезаписываешь одну ссылку, в foreach у тебя другая ссылка, которая указывает на это же место.
Тупой ты, перечитай оригинальный вопрос анона
Шарпоны, хочу такой массив, в котором можно удобно хранить исторические данные. Например, значения постоянно обновляющегося графика. Т.е. нужны такие функции:
- Органиченный размер (желательно отключаемый)
- Доступ к последнему и более ранним элементам по очереди.
- При переполнении массива, удалять самые старые элементы.
- Реализованный Enumerator
Мне бы стек подошёл, но его размер нельзя ограничить.
Какие ещё есть варианты кроме написать самому?
Также посмотри Queue<T>
Remove будет ре-индексировать/смещать записи.
>Мне бы стек подошёл, но его размер нельзя ограничить.
Кто сказал нельзя?
Stack(Int32)
Initializes a new instance of the Stack class that is empty and has the specified initial capacity or the default initial capacity, whichever is greater.
>Да вот боюсь что этот ремув будер нихуёва тормозить
Сколько у тебя данных и как быстро они прибывают?
>мне нужны все записи в порядке появления начиная с самого нового
так все или не все? И примерно сколько? 1к, 10к, 100к?
>При переполнении массива, удалять самые старые элементы
пахнет байтоёбским кольцевым буффером
Волшебный array
Cerf тупая
>- Органиченный размер (желательно отключаемый)
Какой хочешь размер тот и задавай через capacity
>- Доступ к последнему и более ранним элементам по очереди.
list[Count -1] - последний
for (int i = List.Count -1; i > List.Count - Amount; i--)
{
БЕРЕШЬ ЧО НАДА В ОБРАТНОМ ПОРЯДКЕ
}
>- При переполнении массива, удалять самые старые элементы.
Удаляй любой по индексу, настрой свой рендер так, что бы обращался грамотно к массиву а не пердолил каждые 9 наносекунд
>- Реализованный Enumerator
for тебе заместо Enumerator и o(1) доступ. Линейный для отрезка.
LinkedList тогда
Питон прост, если тебе надо по-бырому и с минимальными знаниями сварганить хуйню, например, для курсача, как у меня было. Типа прилепил нампи, матплотлиб, хуяк хуяк и заебок, и то были проблемы с тем же мультитредингом. На нем к тому же работы нет, максимум всяких обрыганов-сисадминов заставляют писать скрипты под линупс.
Установил так:
>dotnet add package Newtonsoft.Json
>dotnet restore
Проверил projectname.csproj и project.assets.json вроде там прописана библиотека.
Как фиксить в итоге?
Тупа перезапустил VS Code и заработало. Но что теперь каждый раз так делать?
Шарпаны, что можно заюзать для визуализации графов, чтобы на винформсах работало?
Посмотрел несколько либ, они походу не могут так.
Напиши сам через bitmap?
Омнишарп не подхватывает. Погугли, может одного его можно перезапускать. В любом случае, добавлять пакеты это не слишком частая операция.
dllimport
Да, Даниил.
Прогу требуется написать на С#. Вообще много чего горит, времени всё сделать просто не хватает.
Сочувствую. Попробуй съесть шоколадку перед работой - глюкоза благоприятно влияет на мозговую деятельность.
Ну а в чем проблема? Читаешь данные как строку, а затем по циклу идешь по ней как по массиву и держишь стрелки на скобочках
Есть бинарный файл размером примерно с гигабайт. Нужно отыскать в нём различные последовательности байт. Побайтово его считывать через BinaryReader - выходит очень медленно.
Чо там писать-то, вот тебе поиск открывающей и закрывающей скобки в строке, игнорирует сломанный синтакс и найдет последнюю правильно закрывающую:
https://hastebin.com/ozidatizaw.cpp
StringBuilder использовать можно?
Отредачь, там костылей полно.
Поменяй тип на оконный в свойствах проекта. Или создай проект с формой, и удали форму.
Спасибо. А то я делал костыли медленные по типу Console.SetWindowsSize(1, 1);
Люблю тебя <3
Так MS же индусов завозит сама. Ген директор индус как бе намекает на их стратегию.
В любом случае язык и крупные фреймворки хотя бы проектируют белые люди, а что там мартышки на них напишут всем поебать.
Я покопался в нем и не нашел как делать запароленные архивы.
WCF
Не понял почему он должен взлетать если это просто одна из имплементаций .NET Standart?
C# в топ 10 стабильно и уходить не собирается, а значит за популярность .NET у хипстеров переживать не стоит.
А уж дядьки в гос. учреждениях и коммерческих организациях без тебя разберутся, умирает ли винда или нет.
Возможно во влажных фантазиях красноглазых линукс уже захватил весь декстоп и сервера компаний, но который год я уже вижу как закупаются лицензии вместо бесплатной швабодки.
Стал смотреть курсы вот этого лысого(ITVDN):
https://www.youtube.com/watch?v=tGEKYcrG16o
На рутрекере скачиваю их полную версию.
Но прочел там пост, якобы все это хуйня и на русском все курсы говно. А я инглиш знаю не очень хорошо.
Пишут, что курсы должны быть практические, где сразу идет создание программы. А на русском таких нет.
Что делать? Продолжать это смотреть?
Почему бы просто не читать документацию прямо на сайте микрософта, на русском?
Плюсую анона выше. Если совсем новичок то можешь начать с литературы из шапки.
Не понимаю зачем все эти курсы на ютьюбе. Они тратят больше времени, да и программирование это далеко не само зрелищное занятие.
первое выдаст эксепшн в рантайме, если невозможно привести к типу, второе просто вернёт null
1) Клик на Label
2) Window Closing event
Переписываю проект на MVVM, кнопки, привязки данных и т.д. переписал. А вот эти евенты не пойму, как привязать. Делать какой-то MouseBehaviour что ли?
Тебе дали ПыХу а ты хочешь на C# дрочить? Совсем поехавший?
Что почитать на это тему с нуля вообще?
Например сказано что если видно что до запроса очередь дойдет нескоро (через секунду и больше) можно его сразу отклонять с кодом 429 - а как это определяется?
Или, например - сказано что тестирование будет проводиться повышением нагрузки с 0 до 10к rps, будет определен лимит сервера, после чего пойдут различные нагрузочные тесты - час нагрузки под 2*max_rps, слабая нагрузка с мощными всплесками etc. Очевидно, чтобы переживать как-то сверхнагрузки, надо динамически самому определять предельный rps и отсекать запросы превышающие его (в задании это разрешено). Но как это делать?
Ну и так далее. В общем, есть где почитать/послушать для чайников данную тему? А то я даже не знаю с какой стороны подойти.
https://docs.google.com/document/d/1yk5kt1oV4278LojQeZvSuSsiNdG0nNzcnIy29K0UXK8/edit само задание если интересно
Ну так оно и есть на стажировку. Потом можно на работу попасть.
Интересное задание. Был бы ещё готовый клиент для тестирования, было б вообще зашибись.
> Линейный рост нагрузки от 1 rps до 10000 rps
> Размер изображения не должен превышать 100KB
Т.е. теоретическая максимальная нагрузка может составить до 8 гигабит? Я ничего не путаю?
<DockPanel Grid.Row="0">
<TextBox Margin="3" DockPanel.Dock="Left" Width="auto" HorizontalAlignment="Stretch">Dock</TextBox>
<Button Margin="3" DockPanel.Dock="Right" MaxWidth="70" MinWidth="30">Search</Button>
</DockPanel>
Потому и подчеркнут, что там что-то не так. Подползи к нему мышкой и он тебе скажет.
Чем тебе грид не угодил?
DockPanel.LastChildFill
Без всяких PRO-версий, но с простым созданием отложенных задач во время работы приложения (asp.net core) и опционально сохранением задач в какое-нибудь хранилище (pg, redis, sqlite).
Нужно для обновления записи в БД спустя определенное время после получения реквеста от юзера.
Delayed job, пикрил.
Писать IHostedService кажется изобретением велосипеда, придется делать свою очередь задач.
Quartznet выглядит страшновато.
У FluentGenerator нет хранилища и он не очень активно поддерживается.
Я хз конечно, но почему бы не использовать отложенные таски? https://msdn.microsoft.com/ru-ru/library/hh194873(v=vs.110).aspx
>>19417
Ладно, отвечу серьезно. Дотнет, как и джава, наверное, очень консервативные платформы, и ебали в рот новые технологии, которые уже как много лет являются стандартом веба.
Но с приходом коры МС решила посмотреть на хипстеров и кора стала похожей на ноду под капотом в плане построения серверного скрипта (это не что-то плохое, но я считаю, что это большой шаг вперед после жесткого завязывания на IIS).
NPM - это репозиторий пакетов (и одноименна программа управления ими), которым пользуется node.js прямо как нугет. В контексте дотнет кор - используется для подключения яваскриптовых пакетов для фронтенда. В 2017 обязателен для изучения и ознакомления.
WorkBook.Close(false, misValue, misValue); //закрываю книгу
App.Quit(); //закрываю само приложение
Marshal.ReleaseComObject(WorkSheet);
Marshal.ReleaseComObject(WorkBook);
Marshal.ReleaseComObject(App);
WorkSheet = null;
WorkBook = null;
App = null;
GC.Collect();
Что я делаю не так?
>App.Quit();
Это что? Может это делать после Marshal.ReleaseComObject(WorkBook); и прочих?
>WorkSheet = null;
>WorkBook = null;
>App = null;
>GC.Collect();
вот это вообще не нужна, если у тебя приложение закрывается.
>GC.Collect();
это вообще никогда не вызывай, не имей моды такой.
Дальше дрочи javascript или php если хочешь зарабатывать погромом
Тебе для какой цели? Просто начни проект, который нужен лично тебе или просто интересен.
Раз ты освоил простенькие приложения, то попробуй написать что-то посложнее. Упрешься рогами в кривую архитектуру и пойдешь изучать паттерны программирования, так собственно потихоньку и вырастешь.
>>19933
EF Core? Непонятно что ты хочешь если честно.
Да, EF Core. То есть у меня есть таблица User, унаследованная от IdentityUser, и я могу сделать что-то вроде
string id = your-mum-gay;
var User = _context.User.Where(p => p.Id == id). И таким образом оно работает. Но у Юзера есть, скажем, дефолтное свойство Username. И вот если я уже по нему буду искать, то выдача пустая.
>>19950
А ты неплох, шерлок
stackoverflow driven development предлагает такой вариант
User myUser = myDBContext.Users.SingleOrDefault(user => user.Username == username);
Блять, заползи на NMM-club да СКОЧАЙ
Почитал сейчас про него. Сам что скажешь за эту либу? Есть серьезные баги? Имеет ли большое преимущество перед гугловской Excellibrary?
Тогда зачем тебе дергать юзера через контекст? Или тебе нужно юзера вместе со связями?
Если просто юзера то доставай через UserManager там метод есть FindByName, который к слову ищет по нормализованному имени.
>var User = _context.User.Where(p => p.Id == id)
Так ты запрос не выполняешь, лол. Добавь в конце FirstOrDefault() или сразу _context.User.FirstOrDefault(u => u.UserName == UserName);
И почему в контексте User, а не Users? К тому же рекомендую использовать Async методы и Ef и такие же у контроллеров.
На кой ляд тебе не комьюнити версии? К ому же ты наверняка не выбрал нужные тебе пакеты и нахуй всю хуйню поставил качаться.
Да, там само собой должно было быть SingleOrDefaultAsync с await'ом, я наспех писал. В общем, проблема, думаю, решена. Я никак не мог разобраться, как поднять UserManager вне тех контроллеров, где он уже есть. В итоге выкупил, а если не сработает - мне ж ничего, блджад, не мешает этот метрд впердолить в один из тех контроллеров. Слишком зафиксировался на одной проблеме, лол.
Кстати, async реально лучше в таких задачах? Быстрее?
Комьюнити. И я выбрал только все связанное с сисярп, жс, БД, .net, ну и asp.net.
UPD
Сисячки! Теперь все стало нормально качаться, видимо проблема у серверов мелкософт были. Люблю вас!
пидр))
А что там было поднимать. Добавил в конструктор и используешь.
Хотя зачастую я запрашиваю в обход менеджера т.к использую свой юзер класс с отношениями.
>Кстати, async реально лучше в таких задачах? Быстрее?
В идеале не быстрее, но позволяет обслужить больше клиентов. А вот уже работа с базой зависит от ADO.NET провайдера для твоей БД. По идее у Postgres и Mysql адаптеров честная асинхронность, но я в этом вопросе не разбирался.
Надо попробовать побенчить, хотя используя EF не стоит ждать какой-то производительности.
Относительно ADO.NET + Dapper она жрет память и порой генерирует неоптимальные запросы(не забывай смотреть выхлоп логгера), но все же позволяет быстро набросать прототип.
UPD
Блядь, установка прервалась из-за синего экрана. Как чекнуть и установить недокаченное? Прога вроде работает, ну то есть открывается. Но мне кажетсямогут быть ошибки.
Вот эта штука докачает что надо? Что означают синие звездочки в списке справа? Что есть недокаченные компоненты?
Уже умер, отпеваем.
Типа что бы понимать.
Вот класс А с методом вывожу А.
Вот класс Б с Методом вывожу Б.
Что выведтся при A obj = new B();
А если Б наследуется от А.
Вот что бы понимать все это.
А то когда сам ищу натыкаюсь на тривиальную хуйню про классы с животными и собаками.
Бессмысленно проверять какое либо усредненное задание.
Вариаций таких вопрорсов может быть масса.
Неужели нет никакой статьи где описывается по какому принципу или логике наследуются/приводятся типы?
Есть.
Называются "Книги по C#"
Ты реально хочешь устраиваться сисярп-погромером не понимая наследования, иерархии и абстракных классов+интерфейсов?
Слушай, скажи куда берут таких, я бы пошел
Но оно же все не скомпилится, потому что надо явно указать, что в классе a метод Foo - protected или public
>потому что надо явно указать, что в классе a метод Foo - protected или public
>public
Мань, ты опять обосралась
Если поставить public, то нельзя будет сделать оверрайд Foo в классе B
asp.net core
Тебя мудака что даже пост внимательно прочитать не может не возьмут даже цех подметать.
Вроде бы опыт программирования есть но за пару лет научился только кодить. Хочу научиться программировать, ебать архитектуру , хуячить ООП.
Решил начать с паттернов, довольно много интересных решений но я видимо такой долбаеб, что не могу понять нужно ли использовать шаблон если то же самое можно сделать другим путем.
Например. Шаблон "фабрика" , есть ли смысл делать фабрику для того чтобы использовать 1 экземпляр объекта в контроллере (WebApi) если можно сделать сервис и инджектить его (instancePerRequest).
Алсо может кто нибудь может подсказать годную литературу по архитектуре ? Паттерны вообще улучшают архитектуру приложения?
J2EE — могила, ловушка узкой спецыализацiи, так-то.
Так лучше что ли? Я серьезно, не троллю. ХЗ как использовать классы в своем приложении. Я сначала сделал как на втором пике, но препод сказал "ебашь ООП. Иначе хуй тебе а не диплом ПТУшника"
>используется для объявления статического члена, принадлежащего собственно типу, а не конкретному объекту
А если class2 это ODBCConnection? Логично же что, эта переменная должна принадлежать типу classname, а не его экземплярам, если я использую classname только для хранения методов, работающих с class2. У пользователей этого класса тогда не будет возникать множество копий соединения с БД.
>конвенциях написания кода
Извините. Просто не хотел всякой мишурой скрывать главную проблему.
Загвоздка в том, что требуется отправлять пакеты определенной длинны и заголовком и вот это я не знаю как сделать.
АНон, дай ссылки где посмотреть можно.
byte[]?
а гугл советует не использовать synchapi а подключать windows.h. Как юзать этот сраный Sleep
Visual studio. Помоги а
Думал, что буду делать всё через матрицу, но как это прикрутить не могу догадаться
Хотя бы WPF заюзай, тм проще туже ротацию делать
Охуеет, явно. Я вон косынку на винформс написал, и то охуел.
Может быть ебанутое тестовое. Тут одна контора в качестве тестового выдаёт три в ряд без monogame и unity на winforms.
[HelpKeyword("My.Application")]
internal static MyApplication Application =>
m_AppObjectProvider.GetInstance;
Студия это не компилирует, говорит, вместо => должна стоять точка с запятой. Я же вообще хз, что это за конструкция, не гуглится, подскажите плз.
Три файла не вскрылись, ибо
Goto statement target does not exist.
ЧЯДНТ? Обфускация-запаковка? Не та целевая версия фреймворка?
Алсо, кое-как рабочую версию я должен показать к концу месяца. Спасайте, аноны, ну пожалуйста!
>nternal static MyApplication Application =>
>m_AppObjectProvider.GetInstance;
bodied expressions
Алсо, юзай ILSpy
Это фича шестого C#.
Спасибо. Не byte[] потому что string будет подтягиваться текстового файла. И я могу использовать только текст из этого текстового файла из-за специфики проекта. Долгая история.
шарпдевелоп
Можешь написать свой аналог минимального ncurses дабы консоль рендерила лишь до предпоследней строчки, а последняя была для ввода.
Ну или просто взять ncurses
Короче вопрос в чём, у меня есть Delay loaded (ну типа ленивая загрузка длл-ки при первом вызове функции оттуда) bar.dll, и она забита в SxS манифесте, этот манифест встроен в длл-ку foo, т.е bar.dll является зависимостью foo.dll, в bar.dll встроен свой манифест, который отвечает зависимости в foo, т.е bar.dll должен грузится когда я делаю LoadLibraryEx("bar.dll"). Вот только прикол весь в том, что на самом деле LoadLibraryEx игнорит все эти манифесты, и грузит первую попашуюся bar.dll. Что за говно? У меня из-за этого delay loaded dll грузятся неверных версий.
Monogame живее всех живых
Юзай паттерн МВС и не еби себе мозги.
1) если нужно внести изменения в проект(например добавить контроллер), то нужно полностью пересобирать весь проект и перезаливать на сервер?
2) при разработке нужно постоянно по 100500 раз открывать браузер, чтобы посмотреть как идет дело в создании проекта и нельзя держать браузер открытым и просто перезагружать страницу?
1 - гугли continuous deployment
2 - если изменишь разметку - можно, если изменишь код - нельзя
И как оно, ты сам применяешь кончиниус деплоймент или полностью проект перезаливаешь, когда вносишь новые изменения?
Да, гугли dependency injection
Суть просто в том, как оно вообще фурычить будет на с#
"МОЖНО ЛИ НА C# ДЕЛАТЬ X?"
@
Да, конечно, есть порт популярной библиотеки Y
@
Заходишь на сайт с библиотекой или гитхаб, видишь последний апдейт год-два назад и вопрошающих 3.5 индусов, мол, когда проапдейтят
и так почти со всем неприкладным говном.
Три дня поноса — и смерть.
Нормально. Не еби мозг.
Медленнный он слишком. Лучше на плюсах майни.
Блять сука ты охуел блять пиздец ты как вообще код пишешь я плачу ты доволен??????
Ну значит на их взгляд либо всё уже сделали, либо оно никому нахуй не надо.
Эту парашу надо анимировать+не допускать дедлоков. Я хз конечно, может это у меня с фронтом патологически не складывается, но я вообще не въезжаю во все эти свистоперделки с анимацией и прочим.
Тебе именно в формочках или можно в WPF, консолечке?
>не будут развивать вин формс и впф?
С чего ты взял?
Но анон, есть также Xamarin, Unity и Monogame.
>майки больше не будут развивать вин формс и впф
В основном да, мелкие багфиксы и всякая фигня по мелочи. Хотя тот же UWP они довольно активно пилят, но он мертвенно-рожденный.
В проекте на wpf datagrid биндится на datatable, который в качестве ячеек имеет объект (экземпляр произвольного класса). Вывод одного поля от объекта в datagrid работает, при редактировании ячейки datagrid генерится textbox, но сохранить не выходит. Кто может сталкивался с такой проблемой?
100 рублей.
>UdpClient разве позволяет самому задать заголовок? Вроде только данные.
Но ведь заголовок... это часть данных.
В твоем случае проще всего так
var w = new BinaryWriter(new MemoryStream());
w.Write("ZAGOLOVOK");
w.Write("DANNYE");
client.Send(((MemoryStream)w.BaseStream).ToArray(), w.BaseStream.Length);
Для освоения - совершенно нафиг не нужен матан.
Матан тебе понадобится, если:
- будешь писать софт в соответствующей сфере (научный или там дизайн-пакеты типа блендера)
- будешь всерьез заниматься оптимизацией некоторых алгоритмов (тут скорее связка матана + Computer Science)
Ввод Х
Если X mod 2 = 1 То Вывод " " Иначе Вывод " "
Х := X div 2
Если X mod 2=1 То Вывод " " Иначе Вывод " "
Х := X div 2
Если X mod 2=1 То Вывод " " Иначе Вывод " "
При вводе X=5 программа вывела слово ТУР, при Х=2 - слово БОК. Какое слово будет выведено при Х=7? Ответ необходимо аргументировать.
Здесь, как и принято, mod - операция остатка от деления, div - деление с отбрасыванием дробной части.
Как такую задачку решить без матана. И как вообще её решить, я примерно понимаю, что её нужно интерпретировать в код и решить. Но всё равно не врубаю.
В описание задачи не вдупляю, переформулируй, напиши так, что бы на стену не хотелось лезть.
Ввод Х
Если X mod 2 = 1 То Вывод " " Иначе Вывод " "
Х := X div 2
Если X mod 2=1 То Вывод " " Иначе Вывод " "
Х := X div 2
Если X mod 2=1 То Вывод " " Иначе Вывод " "
При вводе X=5 программа вывела слово ТУР, при Х=2 - слово БОК. Какое слово будет выведено при Х=7? Ответ необходимо аргументировать.
Здесь, как и принято, mod - операция остатка от деления, div - деление с отбрасыванием дробной части.
Я так понял из твоей задачи тебе нужно найти четные и нечетные?
>При вводе X=5 программа вывела слово ТУР, при Х=2 - слово БОК. Какое слово будет выведено при Х=7? Ответ необходимо аргументировать.
5 на 2 без остатка не делится, значит нечетное - ТУР
2 на 2 делится без остатка, значит четное = БОК
Причем тут матан.
FizzBuzz - это мем-задача для отсеивания недокодеров, там похожие условия, но нужно найти нечетные, пропуская праймы.
Предпологаю что ТУР, ибо 7 на 2 не делится без остатка.
Мне можно
А хули за три года изменилось то? Int стал 128битным или goto стал снова модным?
Ну оно работает, круды быстро делаются, пользоваться можно.
Нужно что-бы была возможность выбрать на какую звуковую карту выводить определенный аудио файл (Пример скрин во вложении, просто набросал элементы)
Перегуглил, переяндексил, но такого найти никак не могу...
забыл упомянуть, c#
Пользу интерфейсов поймешь когда поймешь все прелести Dependency Injection. А это становится понятным только на больших проектах.
код: https://pastebin.com/LEgM5rfe
>Множественное наследование это конечно же хорошо, но, опять же, зачем если все равно реализовывать придется внутри класса.
потому C# это язык со строгой типизацией, чтобы вызвать метод объекта, нужно наперед знать его интерфейс.
тут важно не то, как ты реализуешь интерфейс внутри класса (это как-раз не важно), а то, как другие объекты взаимодействуют с объектом через интерфейс.
ты не понимаешь зачем нужны интерфейсы, потому что ты не понимаешь как твой класс будет использоваться другими классами.
Подключить эту либу, прочитать документацию, написать то, что тебе нужно. Или забить.
А практика DI нужна когда код покрывается тестами:
http://www.rsdn.org/forum/philosophy/2025093
http://www.rsdn.org/forum/philosophy/3397605
http://www.rsdn.org/forum/philosophy/5050553
http://www.rsdn.org/forum/philosophy/6019824
http://www.rsdn.org/forum/philosophy/6296207
http://www.rsdn.org/forum/management/4308332
http://www.rsdn.org/forum/management/5226745
http://www.rsdn.org/forum/flame.comp/7002392
Он же по умолчанию стоит 4096 байт, а у меня прописана чистка буфера после каждого считывания, вообще эта строчка не важна, просто смотрел и забыл стереть.
WPF
Он еще долго не умрет. Тот же WinForms все еще популярен и не собирается умирать. Точнее, он как бэ умирает последние 10 лет.
Ты не должен. Интерфейсы это как будто ты описываешь какие ключи подходят к твоему замку. Если ты пользуешься какой нибудь хуетой через интерфейс, то твоему коду насрать что с другой стороны, покуда оно соответствует интерфейсу. Захочешь вместо вывода на экран высирание говном через тридэ принтер - надо будет только одну строку поменять в твоём коде. Твой заказчик решил, что данные теперь будет не тётя глаша в екселе вбивать, а с облака модно погружаться - твоему коду похуй, покуда класс, где описана связь с облаком реализует твой интерфейс.
Сейчас умные ребята тебе ещё пояснят про полиморфизм и инкапсуляцию.
>Сейчас умные ребята тебе ещё пояснят про полиморфизм и инкапсуляцию.
Они заняты зарабатыванием денег посредством поминывания хуев и гоняния жуниоров
>С первого порта все идет и отображает в консоль
ну так поменяй кабели местами, чтобы получить в консоль другой поток. Тем самым убедишься, что данные приходят и там, и там, а клинит только один порт.
Кстати, DataReceived выполняется в отдельном thread. Это для справки, если задумаешь в GUI писать когда-нибудь.
Где он в отдельном треде? Я вижу синхронизированную имплементацию с синхронизированными же евентами.
Полистай документацию или просто попробуй писать из DataReceived в какой-нить textBox1 в GUI. Когда словишь exception, возвращайся - обсудим.
async void M1() {
await stream.ReadAsync(b, 0, 1000);
Console.WriteLine(b);
}
void M2() {
Task.Run(() => {
stream.Read(b, 0, 1000);
Console.WriteLine(b);
});
}
Первый допустим не блокирует тред, но создает много тасков (допустим там не один await, а сотня), что может нагружать GC.
Второй вариант не нагружает GC, но блокирует тред
Какой вариант лучше использовать в ПРОДАКШЕНЕ
А как я еще прочитаю из стрима, славянин?
Я знаю там даже придумали костыли вроде ValueTask, которая не создает Task, если метод завершился синхронно.
Другими словами, можно ли при работе с SqlDataAdapter обойтись вообще без первичных ключей? База данных у меня на работе, поэтому добавить ключ в тамошнюю таблицу я никак не могу.
А как такая конструкция у тебя поймет, какую строчку апдейтить то?
Вот пример, ты заселектил 2 строки:
name | value
'a' | 'b'
'a' | 'b'
Потом поменял в первой строке 'a' на 'aa',
какой запрос должен быть сформирован, чтобы СУБД поняла, какую строчку ты реально хочшеь проапдейтить?
В общем, так, как ты хочешь, не выйдет, добавляй identity column, Дружок, и делай ее primary key. Или сам пиши оснастку для DataTable так, как ты уже хочешь.
Ну какие, например, тяжелые проекты в вебе себя плохо показывают?
У тебя все разбито по модулям и/или микросервисам, что там, вообще, может быть тяжелого?
У меня нет статистики. я не занимаюсь исследованием оптимальной работы приложений, я знаю, что веб-приложения будут работать из любой точки мира без предварительной установки, используя только ресурсы браузера.
А winforms нужно устанавливать, причем обязательно на винду, и вот как какому-нибудь ТОПу, который ходит на встречи с айпадом, воспользоваться твоим чудо-решением?
Круто.
Кажи мне функционал веб-говна.
Как сравним ГуглДокс МС Офисом?
Где веб-версия фотошлепа?
1С пакет веб-версия?
Мне дальше перечислять, упырок тупой? Хули ты пиздишь о чем не знаешь.
Ну заполни 30 с хреном полей на айпадике на конференции. У веба и десктопа разные задачи как по мне. В вебе ТОПам удобно на дашбордики пялиться, десктоп - для работяг.
>всякие проги, типа того же фотошопа всегда будут удобнее на десктопе.
Ну так я какого хрена, аноно. Я тебе не про Discord-клиент или Trello-вьювер вещал. Понятно, что эти будут на чем-то вроде веб-базы.
>всякие проги, типа того же фотошопа всегда будут удобнее на десктопе.
Это еще почему?
Чем будет неудобен фотошоп во вкладке браузера? Все что сейчас страдает это производительность, потому что никто не пилит по уму с использованием wasm и webgl, а делают в прототипы в лоб, которые разумеется медленны. Но это дело времени. Совсем недавно никто и в IDE в браузерах не верил.
Ну а как состояние хранить в браузере? На сервере каждый шаг пользователя сохранять, что ли?
Что произойдёт, если браузер вылетит?
Лол, что. В браузере овердохуя персистентных хранилищ данных. В том числе, доступ к файловой системе о запросу с разрешения пользователя.
Да, давай хуяч скратч-файл через хендлеры браузера. Захлебнется при первом же PSD открытом
Вас либо ничему не учит время, либо вы вкатываетесь только-только.
PSD в браузерах уже давно открывают и никто не захлебывается.
Только что открыл онлайн два psd файла на 270 и 40 МБ, ничего не тормозит, все слои доступны для манипулирования.
Лол. Чего-то сам проиграл теперь. Открыл тяжелый макет, который сейчас верстаю, там же, это фотопеа для манипулирования слоями работает быстрее чем нативный фотошоп.
>Как сравним ГуглДокс МС Офисом
У МС Офиса есть свой онлайн офис. Есть еще куча офисов, некоторые мощнее чем гугл докс, например ONLY Офис.
>1С пакет веб-версия
Давно есть и ничем не отличает от нативной.
ты мудак.
>>1С пакет веб-версия
>Давно есть и ничем не отличает от нативной.
Во влажных маняфантазиях пхп макак.
Никто больше месяца на ней не держался.
Ну я хоть и не про, но про полиморфизм и инкапсуляцию и так знаю. Тут вопрос был скорее в том, нахуя мне интерфейсы если есть абстрактные классыкак в крестах?
поддвачну одеквата
А есть какие-нибудь сервисы, позволяющие играючи изучать C#? А то уж больно нудные эти ваши программирования.
Дворник тоже не мое, так что лучше программистом. Я про сервисы спрашиваю, а не про трудоустройство дворником.
А есть варианты? Я бы с радостью занимался чем-нибудь не нудным, вот только денег мне за это никто платить не будет. Так что пусть будет нудное программирование. И я про сервисы спрашиваю, а не про смогу-не смогу.
С чего бы это?
Тут это не работает. Либо ты учишься всю жизнь и тебе это нравится при этом еще и деньги зарабатываешь, либо работаешь на самой уебищной галере за корку хлеба.
Потому что ты так сказал?
Нет.
>Языки программирования с автоматическим управлением памятью -->> Высокоуровневые языки программирования
Каким хуем C# - не высокоуровневый? Стандартные средства языка позволяют хоть в присядку дрочить, хоть вверх тормашками.
>Каким хуем C# - не высокоуровневый?
Ты просто даун или долбишься?
Перечитай цепочку сообщений, я начал утверждения:
>hi-level "скриптовый" язык
>сложный
Да ты просто пидор тупой и этим всё сказано.
Ну вот, я пересмотрел свое мнение, в браузере ЗБС.
По-моему ты путаешь причину и следствие. Ничего не мешало реализовать МН как в крестах, просто на абстрактных классах. Но МН сознательно реализовано через интерфейсы онли. Почему так?
путь не указывай, просто пиши напрямую - будет пытаться писать в ту же диру
Нахуя мне массивы, если есть коллекции?
Можно, скажи я разрешил.
Здесь школьников много. Двач - популярный паблик среди модных школьников, а ты что думал?
потому что множественное наследование это говно.
интерфейсы это не множественное наследование. это контракты, что твой класс реализует определенное ПОВЕДЕНИЕ
>я бы вообще наследование удалил из с#. оно
Ебанный шизик, ты по всему разделу говоришь какое же говно это наследование.
Ну так не используй, никто не заставляет
потому что в языке со строгой типизацией нужно наперед знать интерфейс объекта, иначе твоя программа даже не сконпелируется
Да забей. Этим школотронам для их лаб интерфейсы не объяснишь. До них нужно самому додуматься.
Предположим, ты хочешь сделать класс, который будет извлекать пользователей из хранилища и осуществлять с ними какое-нибудь действие.
Для этого ты делаешь следующие классы:
UserStore - содержит метод для извлечения юзера
UserService - загружает юзера, используя экземпляр UserStore, и осуществляет нужные действия над юзером
Пик 1.
Этот подход будет работать в том случае, если ты заранее знаешь, какая реализация для загрузки юзера будет использована. Но на практике у тебя может возникнуть такая ситуация, когда тебе нужно будет грузить юзера из разных мест (MSSQL, память, сторонний HTTP-сервер и т.д.), и обрабатывать их обобщённо. Для этого случая элегантным решением будет выделить метод для извлечения юзера в отдельный интерфейс.
Пик 2.
Теперь у тебя есть несколько реализаций интерфейса IUserStore, ты можешь грузить юзеров из базы, из памяти или по HTTP. Важный момент - UserService не зависит от конкретной реализации - ему глубоко насрать, откуда юзер будет загружён. Это будет определять тот, кто будет конструировать экземляр UserStore. Более того, ты можешь вообще не реализовывать этот интерфейс - он может быть реализован в каком-то другом проекте, и это не помешает тебе скомпилировать данный проект.
>Это будет определять тот, кто будет конструировать экземляр UserStore
Не UserStore, а UserService.
быстрофикс
Мне нужно засунуть IEnemerable<A> и IEnemerable<B> в IEnemerable<IInvestable>. Как это сделать, не прибегая к перебору элементов List стайл.
Я пробовал так, но не работает:
public IEnumerable<IInvestable> getAllInvestmentsProjects(Predicate<IInvestable> predicate = null)
{
var res = Enumerable.Empty<IInvestable>();
res = getAllFactories(x => canUpgradeFactory(x.getType()) && predicate(x)) as IEnumerable<IInvestable>;
res.Concat(FactoryType.getAllInventedTypes(getCountry(), x => x.canBuildNewFactory(this) && predicate(x)) as IEnumerable<IInvestable>);
return res;
}
Concat возрващает новое перечисление, а не модифицирует старое. Это значит, что тебе нужно переприсвоить твой res, типа так:
res = res.Concat(FactoryType.getAllInventedTypes(getCountry(), x => x.canBuildNewFactory(this) && predicate(x)) as IEnumerable<IInvestable>);
Не используй осла, используй https://github.com/cefsharp/Cefsharp если не можешь отказаться от открытия браузера в своей проге.
>Как с этим бороться, как разделить браузер из моей прожки от основного браузера?
Запускай в инкогнито?
Никогда не используй LINQ. Это тормозное говно работающие в сотни раз медленнее нормального кода.
А если уж используешь, то делай это правильно
// с большой буквы пиши, пидор
IEnumerable<IInvestable> GetAllInvestmentsProjects() => GetAllFactories().Where(x => CanUpgradeFactory(x)).Concat(FactoryType.GetAllInventedTypes().Where(x => x.CanBuildNewFactory(this)));
// predicate исп. так
GetAllInvestmentsProjects().Where(predicate);
>Это тормозное говно работающие в сотни раз медленнее нормального кода.
Не верно.
Использовать нужно его там, где правильно. Например в контексте SQL ибо в нативные квери преобразовывается.
>А давайте вместо SQL запросов писать SQL-подобный код на C#, а потом с помощью рефлексии парсить этот код и генерировать SQL запросы!
у меня программа не сломается?
Если только один тред записывает то по идее не сломается. Хотя лучше используй lock и синхронизируй их
а можно использовать SyncRoot для синхронизации?
просто мне всегда казалось, что этот SyncRoot какое-то древнее deprecated легаси, которое уже никто не использует. Меня не обоссут за такое?
>Concat возрващает новое перечисление
Спасибо, надо же было так обосраться...
>>25363
>Никогда не используй LINQ. Это тормозное говно работающие в сотни раз медленнее нормального кода.
А нельзя ли пруф на это? А то не верится что то что после стольких лет существования LINQ тормозит.
>>25363
>// predicate исп. так
>GetAllInvestmentsProjects().Where(predicate);
Спасибо! Но не будет ли такая реализация тормознутее чем
public IEnumerable<Factory> GetAllInvestmentsProjects(Predicate<Factory> predicate)
{
foreach (Factory factory in allFactories)
if (predicate(factory))
yield return factory;
}
Т.е. я в курсе что этот foreach выполняется не при вызове GetAllInvestmentsProjects() а во время реально исполнения запроса. Т.е. не будет происходить двойного цикла foreach?
>Никогда не используй LINQ.
Лямбды то хоть можно? Или они тоже тормозные?
Алсо, если я не использую Linq это значит что списки надо обрабатывать foreach еще лучше for, так? А IEnumerable можно оставить или он тоже зашкварен?
Не издеваюсь, просто нуб и хочу разобраться на случай оптимизации горячих мест.
> Парни, как думаете, в ближайщие года 2-3 C# будет расти? или падать, или на месте стоять. По сравнению с джавой
Пока будет юнька - будет и сисярп. Как только случится второй video game crash (а он, в нынешней модели криворуких поделок с финансированием на кикстартере случится непременно) - сисярп вернется к лишпу.
Да не слушай этого дебила. Линкью незначительно медленее форыча и фора, но при этом значительно более читабельные.
> очевидно у тебя 2 разных Т
Не похоже, подсветка говорит что все норм и на всякий случай перенес по разным файлам, но все равно это говно происходит.
Нахуя, суть в том чтобы именно любые енумы можно было туда засовывать.
Уже нагуглил, вот так эта херобора должна сравниваться EqualityComparer<T>.Default.Equals(link.id, id)
Пиздец. Решил tableLayoutPanel попробовать. А хули он НАСТОЛЬКО ресурсозатратный? Поместил таблицу 16x2 в контейнер с растяжением на всю площадь контейнера. При изменении размера окна выходит где-то 5-10 фпс.
Размер таблицы и её содержимое.
>А нельзя ли пруф на это? А то не верится что то что после стольких лет существования LINQ тормозит.
в гугле забанили? например, https://stackoverflow.com/questions/14893924/for-vs-linq-performance-vs-future
>Loop was 9.29700432810805 times faster than linq.
LINQ в принципе имеет те-же недостатки, что и LinkedList, причем не только для данных, но и для кода (одно выражение вызывает метод другого и так по цепочке). Проебываются все оптимизации. LINQ люто спамит объектами, а это значит что приложение дохуя времени тратит не выполнение своих функций, а на чистку мусора. И т.д.
Для примера, начинаю создавать свой простенький браузер сосача, туториалы беру из гугла да еще с одного сайта.
Для простоты просто будем выводить посты одного треда. Вот создаем ViewModel, привязанный к DataContext в нем список постов. В XAML прописываем ItemsControl, в котором допустим укажем template TextBlock Text={Binding Path=Text}. Вроде бы все заебись.
Но вот оказалось, что ссылочки из поста должны быть оформлены как-то иначе. Допустим, оформлены жирненьким. И вот первая загвоздка - вставлять теги прямо в код, как в хтмл, здесь не получится. И вообще нихуя не получится, ведь весь текст поста оказывается в Text={Binding Path=Text}. Все, привязка идет нахуй. DataContext теперь тоже бесполезен. Получается, и ViewModel теперь не выполняет свою задачу. А если попытаться создавать свои теги Run внутри TextBlock со своим оформлением и вставлять их? И тут нихуя - ItemsControl почему-то оказывается недоступным из кода. Есть тут вообще какие-нибудь варианты?
В данном случае работало бы и через абстрактный класс. Семантически, интерфейс является абстрактным классом без реализации каких-либо методов.
Конкретно по примеру абстрактный класс имело бы смысл городить, если бы у всех реализаций IUserStore были какие-то методы, которые были бы одинаковыми для всех реализующих классов, чтобы исключить дублирование кода.
декларативное погроммирование в шаблонах вообще самая идиотская идея изо всех, какие были в ui
>Loop was 9.29700432810805 times faster than linq.
Автора примера обоссали в комментах, а ты довен.
Мне кажется ты несёшь какую-то хуйню. Идея MVVM ведь как раз в том, что ты View получаешь из собранного по кускам ViewModel. То, что ты описал - это какой-то MVC без контроллера. Чтобы реализовать такую хуйню как ты хочешь, тебе надо либо ебануть внутри каждого блока таблицы засунуть ещё одну таблицу, каждая строка которой имела бы свою разметку и прочую хуйню - для ссылки, для названия, для пикчи, и соответственно забиндить, либо генерировать блок, в котором всё будет правильно отображаться, непосредственно в коде.
>Автора примера обоссали в комментах
лол. заменили весь линк на один итератор и одну лямбду. по сути убрав весь смысла линка.
Выставили?
Теперь просвещаемся:
https://kevinmontrose.com/2018/01/16/linqaf-a-series-of-questionable-ideas/
https://kevinmontrose.com/2018/01/24/linqaf-testing/
Костыли. Есть еще плагин для конпелятора, который генерирует код https://github.com/antiufo/roslyn-linq-rewrite
>То, что ты описал - это какой-то MVC без контроллера
Я отсюда все брал https://metanit.com/sharp/wpf/22.2.php. То есть, там все неправильно? Где тогда почитать про настоящий тру mvvm?
>каждая строка которой имела бы свою разметку и прочую хуйню
А если нет ни одной ссылки? Да и ты же не знаешь, сколько их и в каком месте они находятся.
Мне надо по нажатию кнопки че то там делать в обработчике события и если еще раз нажать так же че то там делать.
Как это реализовать то?
Я хз точно что нужно, но можешь через bool отслеживать. Первый раз чекаешь, если false
- ставишь в true, второй чекаешь - если true, то повторное. Отрабатываешь
Как сделать так чтобы и из владельца можно было получить принадлежащие ему фабрики и из фабрики получить список владельцев, не перебирая весь массив данных (тысячи записей)
Не хуячить же мне 2 разных словаря - один в фаьрике, другой у владельца?
Ты заебал, вернись в свой юнитизагон.
>Не хуячить же мне 2 разных словаря
по другому не сделаешь.
С какой целью и по какому критерию?
Можно ли в свойстве требуемого текстбокса поставить статик? Заколебался уже менять его в дизайне, удаляя this'ы. При этом при каждом изменении формы все сбрасывается по новой.
Есть лютые подозрения что я пытаюсь напялить штаны через голову, но как сделать по цивильному я так и не нашел. Помогите
Удобство в чем? Сколько раз я не пытался использовать коллекцию из Concurrent namespace'а я всегда в итоге сталкивался с проблемами синхронизации и возвращался к обыным lock'ам, потому что так безопаснее и удобнее.
>сталкивался с проблемами синхронизации
Как-то странно применял. Потокобезопасность просто позволяет вставлять/удалять/читать, синхронизации и не обещали, тащемта.
Не может ведь в таком божественном фреймворке ебу что такое линкью, мб и не фреймворк не быть метода Contains. Или может?
>Для мака и никсов самый юзабельный вариант - MonoDevelop
Когда последний раз шапку обновляли?
Есть
скорее всего я даун, но может хто-то что-то знает,
в тырнетах ничего нет
сказали так сделать, бд на оракле вообще нахуй
Поясни
Ебыч завалил, уебок, пдиорас ебучий. Ахуел совсем, да? Ты просто офигел, ебливый мудак.
Я делаю несколько классов-обработчиков этого события, и я объект с событием передаю в конструкторе и они там подписываются. Получается какой-то говнокод.
Т.е. что-то так
class Class1 { public event EventHandler MyEvent; }
class MyEventHandler1 {
public MyEventHandler1(Class1 a) {
a.MyEvent += OnMyEvent;
}
void OnMyEvent(...) {...}
}
Как это ОТРЕФАКТОРИТЬ.
Я разделил обработчики на классы, потому что если их все использовать в одном классе, то получается длинная лапша
Отбой, я просто проект не собрал, сейчас все норм
Что он хочет и что он требует?
Квест:
In a small town the population is p0 = 1000 at the beginning of a year. The population regularly increases by 2 percent per year and moreover 50 new inhabitants per year come to live in the town. How many years does the town need to see its population greater or equal to p = 1200 inhabitants?
At the end of the first year there will be:
1000 + 1000 0.02 + 50 => 1070 inhabitants
At the end of the 2nd year there will be:
1070 + 1070 0.02 + 50 => 1141 inhabitants (number of inhabitants is an integer)
At the end of the 3rd year there will be:
1141 + 1141 * 0.02 + 50 => 1213
It will need 3 entire years.
More generally given parameters:
p0, percent, aug (inhabitants coming or leaving each year), p (population to surpass)
the function nb_year should return n number of entire years needed to get a population greater or equal to p.
aug is an integer, percent a positive or null number, p0 and p are positive integers (> 0)
Examples:
nb_year(1500, 5, 100, 5000) -> 15
nb_year(1500000, 2.5, 10000, 2000000) -> 10
Note: Don't forget to convert the percent parameter as a percentage in the body of your function: if the parameter percent is 2 you have to convert it to 0.02.
Что он хочет и что он требует?
Квест:
In a small town the population is p0 = 1000 at the beginning of a year. The population regularly increases by 2 percent per year and moreover 50 new inhabitants per year come to live in the town. How many years does the town need to see its population greater or equal to p = 1200 inhabitants?
At the end of the first year there will be:
1000 + 1000 0.02 + 50 => 1070 inhabitants
At the end of the 2nd year there will be:
1070 + 1070 0.02 + 50 => 1141 inhabitants (number of inhabitants is an integer)
At the end of the 3rd year there will be:
1141 + 1141 * 0.02 + 50 => 1213
It will need 3 entire years.
More generally given parameters:
p0, percent, aug (inhabitants coming or leaving each year), p (population to surpass)
the function nb_year should return n number of entire years needed to get a population greater or equal to p.
aug is an integer, percent a positive or null number, p0 and p are positive integers (> 0)
Examples:
nb_year(1500, 5, 100, 5000) -> 15
nb_year(1500000, 2.5, 10000, 2000000) -> 10
Note: Don't forget to convert the percent parameter as a percentage in the body of your function: if the parameter percent is 2 you have to convert it to 0.02.
Не конвертируй все в (int), конвертируй только процентную часть. Хотя int по идее должен раундить вниз.
А нахуй в конструкторе? Типа может быть разное количество необходимых обработчиков во время работы программы?
Я сам интересуюсь как правильно ивенты обрабатывать, а то у меня в MainWindow в wpf какой-то пиздец творится всегда.
JS отвратителен, но тебе выбирать - быть дворником на Шарпе или жрать игру как жабахуй.
Ни на чем, мне математика никак, а без нее кодинг никак. Я так, чужое пизжу, переменные переименовываю и хуйней страдаю.
Ах, ты ж шайтан! Все JSники такие.
Можно применить такой шаблон или как оно называется https://docs.microsoft.com/en-us/aspnet/web-api/overview/advanced/http-message-handlers
Школоматики достаточно.
я тоже не знаю. Лол..
Помогите разобраться в зоопарке приложений/тулчейнов/фреймворков.
1. Чем отличается .Net Core SDK и .Net Framework SDK?
1a. Как к этому относится тот отдельный пакет с MSBuild? 2.Почему MS распространяет отдельно MSBuild, если он идет вместе с стандартной поставкой .Net Framework и CLR?
2a. Возможно ли на одном ПК держать две версии MSBuild?
3. Будет ли MonoDevelop работать под Windows с .Net Framework?
3a. Если подумать, то .Net как язык и правда неплох, по сравнению с Java. Но после того, как на работе Visual Studio устанавливалась полдня, я решил, что дома не буду ее использовать, мой домашний ПК не выдержит такой мокрописечности. Какой бы тулчейн поставить, чтобы можно писать на С#? Консольки не боюсь, Java научила любить и уважать XML, а с MinGW я немного посмотрел на make-файлы.
4. Насколько сильно mono совместим с .Net фреймворком? Нужно пересобирать код компилятором mono или и так запустится? (ну, тип как Java)
>А нахуй в конструкторе?
А как еще, если метод приватный? Впрочем, в этом случае нужно еще и отписываться как-то, добавлять IDisposable. Костыльный способ.
Думаю тут лучше все-таки использовать интерфейсы вместо событий
<Grid DataContext="{Binding ElementName=listBox, Path=SelectedItem}">
...
<TextBox Grid.Row="0" Text="{Binding Path=A}"></TextBox>
<TextBox Grid.Row="1" Text="{Binding Path=B}" ></TextBox>
</Grid>
>.Net как язык
Вообще не язык, есть много разных языков под .Net.
>чтобы можно писать на С#
Есть shrpdevelop, но по сравнению с VS - кака, впрочем по сравнению с VS всё кака.
Нужно больше конкретики, желательно с примером. Не понятно что ты сделать хочешь, отчего тебе мешают зисы.
1с
Зачем тебе математика? Тебе алгоритмы надо строить, зачастую по уже имеющимся моделям. Никто тут корни из мнимой единицы не собирает, скача на интегралах по пятимерному пространству. Максимум векторы в геймдеве умножают, да системы уравнений решают в каком нибудь расчёте премии дяди коли.
Так класс MyEventHandler же подписывается на события Class 1, он о своём методе итак знает. а событие у тебя паблик.
Паттерн это всё таки рекомендация, если твоя хуйня работает, и ты через год поймёшь почему она работает и как её изменить если понадобится - хоть телеграм бота пиши, чтобы передавал выделенный элемент в текст бокс.
Ковариация
Не сломается, но правильный вывод не гарантируется и зависит от процессора. Читай модель памяти
----------------------
Id | Name | Country id
1 | "A" | 1
2 | "B" | 1
3 | "C" | 2
4 | "D" | 3
------------
Id | Name
1 | "Russia"
2 | "USSR"
3 | "Japan"
При редактировании значений в одной из таблиц изменения автоматически обновляются в другой таблице и DataGrid перерисовывается (метод Test/Change).
В результирующем DataGrid надо отобразить страны и количество людей в них проживающих (group by запрос).
Как сделать, чтобы при изменении данных в таблицах пользователей или списка стран данные автоматически изменялись в коллекции "итоги"?
https://pastebin.com/SBWdJ4Vh
Но так и есть, мы же не про датасайнсистов говорим. В 80% случаев будет достаточно математики за 5й класс, в оставшихся 20 нужная математика изучается на базе этих 5 классов за считанные часы.
Может интернет черепаший? А вообще хоть день, если ты не из тех кто винду каждый месяц запарывает и сносит.
Зависимости?
Я лучше в блокноте или в в gvim буду писать...
Не хватает места на диске и мощностей ПК. Кроме того, он намертво прикручивается к системе, лезет в реестр, без разрешения пишется на системный диск. Загружается и устанавливается долго и не с первого раза.
Попробуй VSСode
Ты поехавший?
Так как ты не очень сформулировал вопрос, есть подозрение что ты не до конца понимаешь что ты хочешь сделать. Переформулируй.
Visual Studio Code
На руборде есть эмуль сервера лицензий. Работает локально (100килобайт памяти) или можешь в сетке поднять.
Какой функции? Функция как раз не может быть вызвана так как он чего-то там не смог в сборке найти.
Это копия, сохраненная 8 марта 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.