Этого треда уже нет.
Это копия, сохраненная 10 февраля 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
51 Кб, 600x600
OFFICIAL C# THREAD №17 # OP #613441 В конец треда | Веб
Существует множество различных платформ и языков программирования, однако среди них нет более элитного, чем C#. Это поистине язык богов, сочетающий в себе простоту использования с поистине неограниченными возможностями. Знание C# — прекрасный детектор современного, умного и успешного человека. Изучение платформы .NET безошибочно указывает на успешного в будущем человека.
ITT элита продолжает обсуждает будущее этого прекрасного и современного продукта компании Microsoft. Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.

Скачать VS2015: https://www.visualstudio.com/en-us/products/vs-2015-product-editions.aspx
Community версии будет достаточно в большинстве случаев: она поддерживает и C#, C++, VB.NET и F#, а так же имеет возможность установки дополнений

Что почитать:
- Bart De Smet - C# 5.0 Unleashed
- Joseph Albahari и Ben Albahari - C# 5.0 in a Nutshell (на русском: C# 5.0, Справочник. Полное описание языка)
- Pro C# 5.0 and the .NET 4.5 Framework (Andrew Troelsen)
- Jon Skeet - C# in Depth (на русском: C# для профессионалов. Тонкости программирования)
- Jeffrey Richter - CLR via C# (на русском: Программирование на платформе Microsoft .NET Framework 4.5 на языке C#)
- Writing High Performance .NET Code (Ben Watson)
- Pro WPF 4.5 in C# (Matthew MacDonald)
- Windows Presentation Foundation 4.5 Cookbook (Pavel Yosifovich)

Что посмотреть:
- Programming with C# - https://www.edx.org/course/programming-c-microsoft-dev204x-0
- Beginning Game Programming with C# - https://www.coursera.org/course/gameprogramming
- C# Fundamentals: Development for Absolute Beginners - https://goo.gl/meyyxO
- https://nnm-club.me/forum/viewtopic.php?t=891636 - коллекция видеоуроков, по всему дотнетовскому.

Ресурсы:
- http://stackoverflow.com/questions/tagged/c%23
- http://www.tutorialspoint.com/csharp/
- http://professorweb.ru
- http://net-informations.com
- http://habrahabr.ru/hub/csharp/

Онлайн-компиляторы:
- http://ideone.com/
- https://dotnetfiddle.net/
- http://csstub.com
- http://www.tutorialspoint.com/compile_csharp_online.php

FAQ
Q: Что с IDE для других систем?
A: Самый юзабельный вариант - MonoDevelop ( http://www.monodevelop.com/download/ )
Для vim можно использовать OmniSharp ( https://github.com/OmniSharp/omnisharp-vim )
VS Code ( https://www.visualstudio.com/en-us/products/code-vs.aspx )
Также существуют плагины для Atom'а и Sublime Text, но функциональность там достаточно сильно урезана.
SharpDevelop - еще одна IDE для C#, отличается малым размером (около 20мб) и опциональной портабельностью, при этом имея дизайнер WinForms и WPF, а также интеграцию с FxCop, StyleCop и прочими.
Q: Пригоден для C# для мобильной разработки?
A: Да, можно выбрать в окне выбора компонентов студии при установке VS

Дополнительные инструменты для разработки на C#
LINQPad - сорт оф REPL, с возможностью быстрого подключения к БД и удобной визуализацией данных
dnSpy - декомпилятор, малоизвестный форк ILSpy, где реализована возможность модификации IL-кода прямо в EXE и DLL файлах, отладка IL-кода и много других фич для reverse engineering'а. Плюс няшные темы как в студии
dotPeek - бесплатный декомпилятор от JetBrains
scriptcs - для запуска C# кода как скриптов, возможность использовать как REPL

Обзор Roslyn: https://github.com/dotnet/roslyn/wiki/Roslyn%20Overview
Новые возможности C# 6.0: https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6

Код этой шапки: http://pastebin.com/raw/mUAJ6Ugz

Прошлый тред тонет здесь: https://2ch.hk/pr/res/595397.html (М)
#2 #613468
Как в EF Code First не удалять базу данных каждый раз, когда добавляешь новое поле или таблицу? На мсдн пишут что надо пердолиться в сторону Code Migrations:

>Выполните команду Enable-Migrations –EnableAutomaticMigrations в консоли диспетчера пакетов


но эта команда дает ошибку

>Could not load file or assembly 'Microsoft.VisualStudio.Shell'



Можно ли как-то сделать, чтобы дебаг показывал ошибки создания базы в EF? То есть допустим я сделал код, из которого нельзя сделать базу. Я хочу чтобы EF показал мне почему именно из него нельзя сделать базу, а не просто вылетал без всяких исключений. (Оче долго думал, почему не работает, оказывается колонку с именем Position создать нельзя. Если бы он показывал эксепшоны, было бы гораздо проще.)
#3 #613475
Правда ли, что C# доступен только избранным? Говорят, что он гораздо объёмнее C++ и чтобы выучить стек технологий MS нужны годы и что сам по себе C# включает кол-во фич столько, что нигде нет в других языках.
#4 #613477
>>613475
Забыл написать, что я ньюфаг, который хочет вкатиться.
#5 #613479
>>613477>>613475
Да, это лучший язык на рынке на сегодняшний день.
#6 #613481
>>613475
Нет.
#7 #613482
>>613481
Крестоблядь порвалась.
#8 #613484
>>613475

>Правда ли, что C# доступен только избранным?


Нет. У меня на работе были одни идиоты и нормально писали на шарпе.
#9 #613486
>>613484
Писать на шарпе это одно, а знать шарп это совсем другое.
#10 #613499
Какие архитекрурные подходы да и вообще технологии нужно/можно применить для разработки средней величины (читай небольшого) мвс веб приложения?
Ну там всякие ИоК и все такое. Еще что? Вот ты начинаешь с нуля писать веб апликуху, как ты ее строишь, что спользуешь, на что обращаешь внимания?
Может какие-то мастхев библиотеки/плагины, архитектура и все такое.
Если кто годно ответит, давайте это в шапку кидать будем, хотя бы как ссылкой на пастебин.
#11 #613541
>>613441 (OP)
Хочу вкатиться на Юнити. Какая база по C# нужна, какие книги читать посоветуете? Только начинаю изучать C#, в программировании нуб, за плечами есть небольшой опыт в ActionScript и парочка небольших флеш-игр.
sage #12 #613545
>>613541
Посомтри сначал на книги в оппосте.
#13 #613548
>>613545
У тебя сажа приклеилась, бро.
sage #14 #613549
>>613548
Да.
Я и не заметил, спасибо.
#15 #613554
>>613549
Обоссал
sage #16 #613576
>>613554
Держи нас в курсе.
#17 #613577
>>613576
Поссал
#18 #613583
К сожалению, .NET-мир уже немного нафталиновый. Майкрософт пытается его обновлять и держать в тренде, но не могёт. Как старый дотнет - хорошая работа над легаси-проектами. Как новый дотнет - закос под мейнстрим с огромными дырами и недоделками. Вот в такой двоякой ситуации как-то и не хочется находиться и вкатываться.
PS Дотнет прогер.
#19 #613591
>>613475
Нет. Шарп хуета.
Ни одной срьезной задачи у языка нет. Нахуй его еще пидят я хзю.
#20 #613598

>The type or namespace name 'RequestMethod' could not be found



Добавил using System.Net.Http; и все та же ошибка, не пойму, откуда брать
#21 #613648
>>613598
Код покажи.
#22 #613650
>>613648
private HttpWebResponse _Request(String url, RequestMethod requestMethod, String content)

тут и выдает что найти не может RequestMethod
#23 #613653
>>613650
Копипастил откуда-то? Тип запроса задаётся как requestObject.Method = "GET" (или что-там тебе нужно). Попробуй поменять RequestMethod на string.
20 Кб, 855x346
#24 #613658
Да копипастил.
И не пойму что подключить нужно, думал что Net.Http; но не катит
#25 #613662
>>613658
Вероятно, самописный тип какой-то.
Я тут вижу варианты:
1. Поменять в параметрах RequestMethod на string и вместо первого if'а и следующей строчки написать request.Method = requestMethod. При вызове _Request, соответственно, передавать просто строку.
2. Можешь запилить свой тип, можно попробовать для начала просто enum RequestMethod { GET, POST }.
#26 #613667
>>613658
3. Поищи этот тип там, откуда остальное брал )
#27 #613677
>>613662
Вот полный код.
private HttpWebResponse _Request(String url, string requestMethod, String content)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.ProtocolVersion = new Version(1, 0);
if (requestMethod == "POST")
request.Method = "POST";
if (!String.IsNullOrEmpty(this._referer))
request.Referer = this._referer;

request.AllowAutoRedirect = false;

// заголовки вставляем

request.CookieContainer = this._cookies;
if (!String.IsNullOrEmpty(content))
{
byte[] bytesArray = Encoding.UTF8.GetBytes(HttpUtility.UrlPathEncode(content));

request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = bytesArray.LongLength;
request.GetRequestStream().Write(bytesArray, 0, bytesArray.Length);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

request = null;

this._BugFix_CookieDomain(this._cookies);

if (!String.IsNullOrEmpty(response.Headers[HttpResponseHeader.Location]))
{
String location = response.Headers[HttpResponseHeader.Location];
this._Request(location);
}
return response;
}
private void _BugFix_CookieDomain(CookieContainer cookieContainer)
{
System.Collections.Hashtable table = (System.Collections.Hashtable)cookieContainer.GetType().InvokeMember("m_domainTable",
System.Reflection.BindingFlags.NonPublic |
System.Reflection.BindingFlags.GetField |
System.Reflection.BindingFlags.Instance,
null,
cookieContainer,
new object[] { }
);
System.Collections.ArrayList keys = new System.Collections.ArrayList(table.Keys);
foreach (string keyObj in keys)
{
string key = (keyObj as string);
if (key[0] == '.')
{
string newKey = key.Remove(0, 1);
table[newKey] = table[keyObj];
}
}
}

Поменял RequestMethod на String, стало понятнее.
Но никак не пойму что означает вот этот код
if (!String.IsNullOrEmpty(response.Headers[HttpResponseHeader.Location]))
{
String location = response.Headers[HttpResponseHeader.Location];
this._Request(location);
}

а именно this._Request(location); тоесть он вызывает саму себя?
#27 #613677
>>613662
Вот полный код.
private HttpWebResponse _Request(String url, string requestMethod, String content)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.ProtocolVersion = new Version(1, 0);
if (requestMethod == "POST")
request.Method = "POST";
if (!String.IsNullOrEmpty(this._referer))
request.Referer = this._referer;

request.AllowAutoRedirect = false;

// заголовки вставляем

request.CookieContainer = this._cookies;
if (!String.IsNullOrEmpty(content))
{
byte[] bytesArray = Encoding.UTF8.GetBytes(HttpUtility.UrlPathEncode(content));

request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = bytesArray.LongLength;
request.GetRequestStream().Write(bytesArray, 0, bytesArray.Length);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

request = null;

this._BugFix_CookieDomain(this._cookies);

if (!String.IsNullOrEmpty(response.Headers[HttpResponseHeader.Location]))
{
String location = response.Headers[HttpResponseHeader.Location];
this._Request(location);
}
return response;
}
private void _BugFix_CookieDomain(CookieContainer cookieContainer)
{
System.Collections.Hashtable table = (System.Collections.Hashtable)cookieContainer.GetType().InvokeMember("m_domainTable",
System.Reflection.BindingFlags.NonPublic |
System.Reflection.BindingFlags.GetField |
System.Reflection.BindingFlags.Instance,
null,
cookieContainer,
new object[] { }
);
System.Collections.ArrayList keys = new System.Collections.ArrayList(table.Keys);
foreach (string keyObj in keys)
{
string key = (keyObj as string);
if (key[0] == '.')
{
string newKey = key.Remove(0, 1);
table[newKey] = table[keyObj];
}
}
}

Поменял RequestMethod на String, стало понятнее.
Но никак не пойму что означает вот этот код
if (!String.IsNullOrEmpty(response.Headers[HttpResponseHeader.Location]))
{
String location = response.Headers[HttpResponseHeader.Location];
this._Request(location);
}

а именно this._Request(location); тоесть он вызывает саму себя?
#28 #613704
>>613677

>Но никак не пойму что означает вот этот код


Если установлен хидер Location, то делаем запрос по указанному в нём адресу (завикипедь про заголовки HTTP).

>а именно this._Request(location); тоесть он вызывает саму себя?


Вообще говоря, нет. Вызывается метод с одним аргументом, а твой _Request — с тремя. Вероятно ты где-то потерял другой _Request.
#29 #613716
>>613704
Спасибо, теперь все понял, есть еще где-то перегруженный метод
#30 #613728
>>613591
Жавамакака, это ты? Синглтон аьстрактного класса уже написал?
#31 #613729
>>613583
Ты ещё про Java не знаешь, где легаси на легаси и легаси погоняет.
#32 #613738
>>613728>>613729
Чем жава от сишарпа отличается? Пояснитбе
#33 #613773
>>613738
Шарп для элиты, джава - для мартыханов.
#34 #613776
>>613773
Спасибо братан
#35 #613781
>>613776
Всегда пожалуйста.
#36 #613790
>>613773
Шарпоблядь полыхнула
#37 #613919
>>613457
Переделывай значит
#38 #614091
>>613738
Шарп мощнее
#39 #614163
Аноны, подскажите. Вкатываюсь в шарп по маленьку, значит, но все не вкачюсь никак. Знающие люди говорят, что пора бы тебе, йоба-уёба писать свои программы-приложения, чтоб совсем хуйлом не быть. А у меня тупо идей нет. Сижу, в игоры играю, а что написать не знаю. Вот вроде и хочется под себя что нибудь, а все уже написано, вродь как. Что можно написать дауну, который еще не может полностью писать на шарпе, но и не совсем обезьяна?
#40 #614210
>>614163
Начни с борды или клиента для какого нибудь апи типа вк или того же двачека.
#41 #614229
>>613441 (OP)
Анон, а поясни мне за Jabber/XMPP для .NET. Какие есть годные библиотеки? agsxmpp - устаревшее говно с застывшей разработкой, у Matrix только коммерческая лицензия (и стоит она ДОХУЯ).
#42 #614232
>>614229
Сам напиши, хули как не программист?
#43 #614233
>>614232
Ты объем спецификации там видел? Там хуячить на несколько месяцев даже если только этим заниматься.
#44 #614244
>>614233
Ну вот, заодно потренируешься.
#45 #614519
>>614163

>Что можно написать дауну, который еще не может полностью писать на шарпе, но и не совсем обезьяна?


Напиши скачивание базы эквити памм-счетов и хранение их в виде файлов, с возможностью апдейтить. Код выложишь тут для ревью. Можешь спрашивать - подскажу как сделать, покритикую код. а то мне писать лень, да и времени мало
25 Кб, 604x348
#46 #614620
Выполнить следующее преобразование массива длины N. Элементы с индексами i ≤ [(N + 1)/2] переместить на
позиции с четными индексами с сохранением их исходного порядка относительно друг друга, а оставшиеся элементы
(i > [(N + 1)/2]) разместить на позициях с нечетными индексами также с сохранением их исходного порядка. Т.е.
начальная и конечная половины массива “перемешиваются” чередованием элементов.
Умоляю.
#47 #614625
>>614620

>Умоляю.


Нет, иди в армию.
sage #48 #614657
>>614620
На пике сзади нога негра?
#49 #614659
>>614620
нууу...
Создаешь еще 2 массива с четными и нечетными элементами изначального массива
Потом поочередно заполняешь новый массива длиной N элементами из созданных раннее двух массивов
#50 #614689
>>614657
диван же ну
#51 #614691
>>614689
Илюша и сюда со своим диваном добрался?
#52 #614780
>>614244
Ясно. Не знаешь нихуя, а пиздануть охота.
#53 #614951
>>613468

>Как в EF Code First не удалять базу данных каждый раз, когда добавляешь новое поле или таблицу? На мсдн пишут что надо пердолиться в сторону Code Migrations:


http://www.entityframeworktutorial.net/code-first/code-based-migration-in-code-first.aspx
Там требуется ввести ещё пару команд для миграции.

>Если бы он показывал эксепшоны, было бы гораздо проще


Рекомендую писать всё в стиле Code First. Тогда у тебя не будет проблем с отловом эксепшенов с детальной инфе об ошибке. Это особенно полезно, если юзаешь сервер БД, отличный от MSSQL. Адаптеры для серверов часто весьма глючные и не могут в mouse driven development. Для понимания их выебонов часто требуется требуется пройтись по всей ветви InnerException.
#54 #614952
>>614163
Начни с чего-то необычного. Например, брутфорсер кастомного алгоритма шифрования, могущий в многопоточность и огромные словари (> 3Gb в памяти).
#55 #615937
Поясните за адекватность вкатывания в .NET на макбуке.
И как там с .NET на фрилансе?
#56 #615943
>>615937

>на макбуке


Еще не завезли.

>на фрилансе


We require decorated C# developer with 7+ years of experience to support and improve existing site written in angularjs and bootstrap. читать с индийским акцентом
#57 #615951
>>615943
I anderstud you.
sage #58 #615964
>>615951
Ninak s dotnetom na frilanse. Hosh frilans - idi uchi php i js.
#59 #615976
>>615964
Реально? Даже Java/Scala не катит?
sage #60 #615988
>>615976
На апворке изредка мелькает что-то. На тех что поменьше (и тем более русскоязычных) ничего кроме сайтов под ключ и копипаста нету.
#61 #615995
>>615988
Так мне что, в пхп идти и не пиздеть что ли? Не перспективно же.
sage #62 #616001
>>615995
Ну значит дрочи портфолио, а не фриланс.
#63 #616008
>>616001
Всмысле? Мне портфолио то куда девать если не фрилансить с ним?
sage #64 #616012
>>616008
Продаться на работу/полноценную удалёнку если мухосрань товя родина.
#65 #616017
>>613441 (OP)
Посоветуйте книгу с алгоритмами, олимпиадными задачами и разбором решений.
#66 #616023
>>616012
У меня ВО нет.
sage #67 #616036
>>616023
Оно не нужно, если не идёшь на какую нибудь бигдату (внезапно). О нём обычно спрашивают в стиле "а чо где учился? мб я тоже там/друзяшки там были".
Максимум - почитай Кормена и подготовься к собеседованию, всё что нужно.
#68 #616046
>>616036
И что в таком случае труЪ?
#69 #616048
>>616046
Пойди продай свою мамашу 14-летним ёбырям-террористам из Дагестана. Как мужагЪ блядЪ. ВотЪ что труЪ.
#70 #616073
>>616048
Ты так говоришь будто это что-то плохое.
#71 #616087
Не хочу регаться в мелкософте. Лицензия на вижуал студио истекла. Что делать? Переустанавливать?
25 Кб, 815x543
#72 #616089
#73 #616092
>>616087
Купи professional.
#74 #616093
Ну и зачем мне язык, за использование которого мне придется платить деньги
#75 #616094
>>616087
Стань пиратом.
#76 #616095
>>616094
Спасибо
#77 #616109
>>616093
Прально, не нужен он тебе, уёбывай.
#78 #616187
>>616087
Ёб твою мать, мелкософты уже сделали её полностью халявной и не требуют даже достоверных данных. Трудно блядь зарегестрировать аккаунт про100вася228_1337.
#79 #616391
Поясните нюфагу, если я начну учиться на С#, то я смогу делать высокопроизводительные приложения для реалтайм обработки чего-нибудь? А а то обычно это всё делают на C++, но интуиция мне подсказывает что лично мне он нахуй не нужен.
#80 #616402
>>616391
Чятики, прикладной софт и всевозможную веб-поебень - писать можешь, риалтайм - нет.
#81 #616403
>>616402
Хуёво, ясно, значит надо как-то совмещать.
#82 #616434
>>616391
Можешь, но писать критические части все равно на сях/крестах/растах будешь писать.
#83 #616454
>>616434

> растах


Первый раз слышу, спасибо, загуглю, чтоль.
#84 #616482
>>616454
Вот, можешь даже примерчик глянуть
http://www.loekvandenouweland.com/content/using-rust-code-from-csharp
#85 #616791
Хочу запилить стрим с многопоточной расширяемой энтерпряйз архитектурой отложенных тасок

Будет ли кому интересно увидеть и задонатить?
Проектирование
Разработку
на .net стэке?
6 Кб, 400x398
19 Кб, 866x434
#86 #616862
Прошу помощи. Возникла необходимость написать под winforms юзер контрол. Что-то типа миникарты(пишу эмулятор клиент одной ММО). На ней должны в реал тайме отображаться некоторые элементы, а также нужна возможность обрабатывать клики мышью по ним и по самой карте. Пока наговнокодил такое. С рисованием чего угодно проблем нет, а вот с обработкой событий мышки уже тупняк.
37 Кб, 1178x521
#87 #616887
Сап программач, что за оператор =>? Что вообще делает эта конструкция. По запросу "=>" гугл уверенно посылает меня нахуй.
#88 #616888
>>616887
Это лямбда
#89 #616889
>>616887
%languagename% arrow operator
#90 #617054
Помогите подобрать книжку по asp.net или ресурс какой. В веб разработке полнейший нуб, но шарпы знаю хорошо. Прочитал шилдта, рихтера, троелсена, немного фрилансю
#91 #617064
>>617054
Очевидный Фримен очевиден.
#92 #617068
>>617064
Да, хороший актер. А книгу какую читать?
12 Кб, 200x200
#93 #617209
Ламповая дотнет-конфа, наполненная как опытными и отзывчивыми синьёрами, готовыми помочь, так и амбициозными недо-джунами, с которыми можно вместе вкатиться в увлекательный мир лучшего языка общего назначения. Присоединяйтесь!
https://telegram.me/joinchat/BE8kJwJcbncs1T4PJ_LZ5Q
#94 #617211
>>617209
Не нужно, уноси обратно.
#95 #617244
>>617211
уже люди добавляются, всё нормально
sage #96 #617456
>>617244
Людей больше двух?
#97 #617534
>>615943

>>на макбуке


>Еще не завезли.


Кстати уже завезли. В рамках Mono всё работает. Формочки и прочее десктопное говно клепается на ура. Даже ASP.NET поднять при желании можно.

>7+ years of experience


>angularjs and bootstrap


Дико проиграл нахуй.

>>616023

>У меня ВО нет


Нинужно оно в кодинге от слова совсем. Если не конченный даун, то даже в относительно сложной математике разберёшься при желании (оно вообще является определяющим фактором).
В дотнете главное хорошо знать всякое сетевое говно плюс БД (WCF, ASP.NET, EF//ORM, IOC и прочее подобное). И уметь писать относительно читаемый код (StyleCop и "Анализ кода" в помощь). Так-то работы просто до жопы, и даже при небольшом стаже она весьма неплохо оплачивается.
Ну и можно иногда клепать всякую ерунду на WPF - здесь тоже желающих хватает (правда, это обычно весьма стрёмные приложения типа ботов к играм).
Пока чистого фриланса у пхпэшников больше, но из года в год делать пхпэшные задачи на дотнете становится проще. Недавно дебажил пхп-сайт, чуть не проблевался.
#98 #617590
>>617534

>уже завезли


.net core, asp 5 и ef7 все еще rc, обещали релизнуть в 1 квартале уже этого года вот тогда и заживем!. Моно работает медленней раза в 2, студию под невинду не завезли, vs code - не ide.
#99 #617592
>>617456
27 активных участников, конфа уже старая и там успел образоваться мощный коллектив
#100 #617594
>>617592
Почему не джаббер?
#101 #617606
>>617590

>Моно работает медленней раза в 2


У меня для тебя плохие новости.
#102 #617610
>>617606
То, что плохие новости, я понял еще когда мы начали под ним запускать проект.
#103 #617702
>>617590

>Моно работает медленней раза в 2


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

>студию под невинду не завезли


Нинужно, хотя было бы неплохо.
#104 #617795
>>617594
зачем джаббер, если есть телеграм?
#105 #617819
>>617795
Зачем анальная привязка к телефону, когда можно без нее?
#106 #618091
>>617209
Открыли бы канал в IRC и не парились бы. Ни регистрации, ни прочих мучений. Участвовать можно хоть с холодильника.
#107 #618157
Вторая конфа с анальной мочерацией. Без голых жоп, наркоты и вайпа.
https://telegram.me/joinchat/CBkRKQOs0KBG8i_MGMzaKg
#108 #618164
>>618157
Лол, в этой конфе стайка пониебов и недокодеров, которые нихуя не умеют, легетимная по-прежнему первая конфа.
https://telegram.me/joinchat/BE8kJwJcbncs1T4PJ_LZ5Q
#109 #618168
>>618157
Блядь, дебилы, сделайте обычный IRC канал.
#110 #618169
>>618168
Блядь, никто не будет делать для тебя одного какой-то канал, когда уже есть сформировавшаяся конфа.
#111 #618170
>>618169
Тем более что конфы уже две, так как в одной постят жопы и нет никакого дотнета.
#112 #618172
Короче, во второй конфе все те же люди, что и в первой, кроме ЧСВ-шного пониеба, который не осилил написание борды за овер чем 3 месяца.
#113 #618173
>>618169
Тогда идите нахуй. Никто не будет ради вас заморачмваится с телефонодрочем.
#114 #618179
>>618173
жаба/ирка было бы неплохо
#115 #618183
>>618179
нет, только не эти мессенджери снова. Плез((((((((9
#116 #618185
>>618183
А что не так?
#117 #618187
Админ первой конфы слаб
#118 #618194
>>618183
слабый
#119 #618200
>>618185
Нет нормальной кроссплатформенности и вообще неудобно там файлами всякими делиться.
Да и вообще, отсидел в ирц в свое время. Тошнит уже от него. Фу.
#120 #618208
>>618200

>Нет нормальной кроссплатформенности


>IRC


Что ты несёшь, поехавший?

>неудобно там файлами всякими делиться


Ну это вообще пушка.
#121 #618210
>>618200

>неудобно там файлами всякими делиться


Какой ужас, в .net конфе нельзя будет кидать фото фараона и webm ((((
#122 #618213
>>618210
скр скр)))))))))0000(
#123 #618242
>>618173

>после каждой рекламы приходит от трёх человек и больше


>я нихочу значит нинужно


>>618170
а во второй теперь нет никакого дотнета, активных юзеров, зато есть анальная мочерация и пониёбы в правительстве
#124 #618243
>>618187
Админ новой конфы пониеб не может в простейшую логику и в написание борды за три месяца
#125 #618272
>>618243
Ты уже это второй раз говоришь. Есть что добавить?
#126 #618273
>>618173
Телеграм достаточно удобен, сам пользуюсь ИРКой и по сей день, но тут всё спорно конечно. На самом деле для дефолтных нужд телеграм даже лучше, может отпарсить картинку/видео, можно вставлять блоки кода.
#127 #618274
>>618242

>а во второй теперь нет никакого дотнета, активных юзеров, зато есть анальная мочерация и пониёбы в правительстве


Этот обманывает чтобы набрать классы, лол.
#128 #618276
>>618243
Ты сколько борд написал-то, успешный?
#129 #618278
>>618272
Узнал уже зачем интерфейсы в C# нужны?
#130 #618279
>>618278
У тебя детектор сломался, чини.
#131 #618282
не анальная привязочка телефона бы...
#132 #618284
>>618282
Энивей, попробуй, твой телефон не светится никому. Пашка постарался на славу.
#133 #618286
>>618282
У тебя телефона нет или в чем проблема?
38 Кб, 1280x720
#134 #618290
#135 #618301
>>618284
централизованное скайпо-поделие
#136 #618322
Юзаю фреймворк monogame (наследует xna). На нем можно норм физику сделать? А то как представлю свой говнокод, хочется сразу найти вариант пооптимальнее. Так можно ли?
#137 #618460
>>618278
Чтобы не пердолиться в консольку, а удобно тыкать по кнопочкам.
#138 #618486
>>618460
Проиграл
#139 #618549
Котаны, рекурсивно хожу по директории и поддиректориям, соирая инфу о файлах и директориях.
Как всю эту полученную инфу лучше всего хранить?
#140 #618556
>>618549
Хранить в каком смысле?
#141 #618559
>>618556
Какие типы, в какие коллекции запихивать.
Чтобы потом к этой коллекции можно было обратиться и построить TreeView, например
Или в xml с сохранением иерархии записать
#142 #618636
>>618460
В голосину.
#143 #618650
>>618559
Ну тогда деревце обычное построй да и все.
#144 #618651
>>618559
Деревья же. В BCL вроде нет готовой реализации, но если погуглишь — найдёшь.
#145 #618688
>>618322
Ты в курсе, что для гейдева есть отдельная доска?
#146 #618703
>>618322

Анон, я тоже на Monogame пилю. Давай что ли поделимся опытом.
#147 #618705
Ну вот я изучил шарп, синтаксис знаю, основные всякие подводные камни знаю. Куда дальше смотреть? В проектирование? Или библиотеки задрачивать?
В английский не могу, да, быдло.
Заранее спасибо.
#148 #618714
>>618703
Ну раз начал тут обсуждаться моногей, такой вопрос - что посоветуете для создания в нем GUI?
#149 #618715
>>618705

>Куда дальше смотреть?


В сторону ASP.NET MVC: http://habrahabr.ru/post/175999/
#150 #618789
Поясните за делегаты, начерта они нужны, что-то нихера не доходит. В паттерне Strategy что ли применять ?
sage #151 #618818
>>618636>>618486
пердолики, зачем вы рветесь?
#152 #618863
>>618789
События на них работают, в треды запускать их же.
#153 #618942
Есть ли оффлайн-инсталятор для community-версии MSVS?
Нужно поставить на один комп без интернета...
#154 #618977
>>618714
Готовых инструментов вроде нет. Можно что-то из samples спиздить, наверное, но я их не особенно смотрел.

Сам написал виртуальный класс, что-то типа GUIScreen, он принимает набор текстур и их координаты, рисует их и обрабатывает нажатия на определённых координатах, возвращая при попадании на текстуру код/индекс. Дальше от него наследуюсь и не вдаюсь в подробности.
#155 #618978
>>618977
Но до адаптивного расположения ещё не добрался. Чувствую, что там пиздец будет. Эх, было бы что-нибудь готовое. Если найдешь, про меня не забудь.
#156 #618981
>>618715
Спасибо за ссылку.
sage #157 #619344
>>618789
Почему все говорят про всякие паттерны?
Они действительно так важны?
#158 #619423
Хули VS Express ставится уже четвертый час в то время как sharpdevelop занимает 50Мб на диске?
#159 #619453
>>619423
Нехуй на кулькулятор ставить.
#160 #619456
В чём смысл функции Lerp? Я с тем же успехом могу просто написать x + (y - x) * z вместо Mathf.Lerp(x, y, z). Есть какой-то метод применения, где он более удобен или уместен или это так, показать как я умею?
#161 #619461
>>619456
Попробуй декомпилировать либу и посмотреть. может оптимизации какие-то.
#162 #619463
>>613738
В шарпе к примеру сделали нормальные свойства.
Теперь не нужно строчить геттеры и сеттеры.
Но лучше не стало нихуя.
#163 #619464
>>618789
Делегат это ссылка на функцию?
#164 #619693
Выручайте, ньюфаг,19лвл, хочу разобраться в сути вопроса, гугл послал нахуй. Объясните кто детально, что происходит с момента ввода урла до отображения страницы конкретно в MVC + SQL + JS, опуская ДНСы и прочую сетевую лабуду, начиная с того как запрос с этим урлом пришёл на IIS(или ещё куда). Путь от приёма урла до отправки HTML+CSS+JS назад к юзеру.
#165 #619709
поясните ньюфажине каким образом из .net можно дёргать напрямую функции win api, ведь байт код же исполняется средой, т.е. среда превращает MSIL в нативный код в процессе выполнения прилаги, тогда каким же образом можно получить прямой доступ к памяти? Чтобы был прямой доступ нам надо скомпилировать приложение, чтобы оно имело доступ к памяти, а MSIL это же прослойка, не понимаю как напрямую получают доступ через прослойку. Все эти DllImport и т.д., где описываются методы win 32 api - совсем запутался с этим. Может кто-то растолковать?
#166 #619775
>>618977
>>618978
http://emptykeys.com/ui_library - вот нашёл что-то, подходящее в том числе для Monogame. Но разбираться глубже пока не пробовал.
#167 #619843
>>619693
Приучайся гуглить на английском, иначе будешь постоянно нарываться на поеботу от даунов с хабра.
http://www.asp.net/mvc/overview/getting-started/lifecycle-of-an-aspnet-mvc-5-application

>>619709
http://www.mono-project.com/docs/advanced/pinvoke/

>MSIL это же прослойка, не понимаю как напрямую получают доступ через прослойку


CLR, внезапно, является виртульной машиной и просто исполняет байт-код. Нет никаких преград для выполнения native кода, если этого желает программист. Попробуй как-нибудь подебажить работающий .NET-процесс. С удивлением узнаешь, что ты постоянно тусуешься внутри native кода, который обрабатывает IL опкоды.
#168 #619900
Посоветуйте библиотеку для работы с вк апи. В нугете их несколько, не знаю какую выбрать.
#169 #619933
что можно сделать с С++, чего нельзя сделать с C# и .NET?
#170 #619936
>>619933
Написать ЖТА, которая не будет тормозить
#171 #619944
Объясните, пожалуйста, что такое Akka.NET?
#172 #619965
Привет ребят, кто нибудь может помочь в маленьком вопросе?
Я хочу использовать дату, допустим сегодня 6 января - значит мне нужно написать что то вроде " ХуйПизда" , а если у меня на компьютере будет 29 Августа - то я хочу написать "идиНахуй".

Собственно вопрос, как мне из DateTime брать числовое значение дня или дня и месяца?
#173 #619966
>>619965
спроси у Intellisense
#174 #619972
>>619965
DateTime hui = new DateTime();
Console.WriteLine(hui.Day);
?
#175 #619973
>>618705
Распиши про подводные камни. Я сам нюфаг, куча лет плюсов, шарп нихуя не знаю, но хочу.
#176 #619978
>>619973
Забудь про ООП которому тебя учили, ирл нет почти ничего из того что ты учил. Инкапсуляция - чудно, но дальше хуже. На самом деле в большинстве случаев нет ни классического полиморфизма, ни наследования. Вместо них ad-hoc полиморфизм и делигирование. И это только начало, в итоге всё строится на знании паттернов и фреймворков, а без этого твои знания ничего не стоят, увы.
#177 #619979
>>619965
>>619972
int d = (int)System.DateTime.Now.Day;
#178 #620099
>>613441 (OP)
Посоветуйте книг по созданию простеньких игр на C# НА РУССКОМ!
sage #179 #620144
>>620126
Сам иди нахуй. Все понты Я ЧИТАЮ НА АНГЕЛЬСКОМ сводятся к тому, что сначала переводишь предложение на русский. Так зачем делать двойную работу?
#180 #620162
>>620099
На интуите Антон Баранов публиковал вводный курс про Unity.
2716 Кб, 1920x1080
#181 #620280
Как в 2016 году белые люди парсят HTML с помощью C#? Знаю про Html Agility Pack, но он с 2014 года вроде как не развивается. Еще знаю что можно парсить как обычный стринг с помощью класса Regex, но предполагаю что есть способ проще и удобнее.
#182 #620286
>>620280
AngleSharp можешь попробовать, мне понравился.

>можно парсить как обычный стринг с помощью класса Regex


здесь та самая ссылка на stackoverflow
#183 #620400
>>620286

>здесь та самая ссылка на stackoverflow


Раз в год её перечитываю. По-моему это просто шедевр литературного жанра.
#184 #620404
>>618705
Просто не поверю, что можно знать действительно хорошо Шарп и при этом не мочь в английский
#185 #620454
>>619978

>всё строится на знании паттернов и фреймворков


На самом деле всё строится на фреймворках, т.к. паттерны - вещь весьма условная.

>>620280

>Html Agility Pack, но он с 2014 года вроде как не развивается


А чему там развиваться? Всё есть, парсит нормально. Особенно если хорошо понимаешь суть XPath запросов.

>>620404
Так бывает. Недавно по случаю декомпилил одну прогу и просто охуел от названий объектов. Ещё больше доставила попытка авторов сделать поддержку англоязычных ресурсов приложения - я даже не представляю чем они переводили с русского, может Промптом каким-то года эдак 1998-го.
#186 #620517
>>620286
>>620400
Дайте ссылку на вопрос на SO.

>>620454

>А чему там развиваться? Всё есть, парсит нормально.


Не работает с .NET Core например.
#187 #620523
Посоветуйте образовательный контент про EF 7 Code First(UWP, SQLite). Getting Started из документации прочитал и повторить штуки из него смогу, но там как-то всё совсем просто. Я не верю что им так просто пользоваться.
185 Кб, 599x591
#188 #620540
Шарпаны, как асинхронно читать из дерева?
Вот есть один поток, он заносит элементы в дерево (файловая структура), уведомляет с каждой новой нодой другой тред, который этот элемент читает и записывает куда-то.
Пока есть только идея лепить каждой ноде имя, и второй тред будет искать ноду с этим именем, но это выглядит громоздко.

Посоветуйте, пожалуйста, как это решить.
#189 #620548
>>620540
Передавай ноду в событии.
#190 #620555
>>620548
Черт возьми, спасибо, анон!
#191 #620584
>>620548
Хотя нет. Читать второй тред должен именно из общей коллекции
#192 #620591
>>620584
Чому?
#193 #620690
>>620540
Как начать понимать о тем, что ти говоришь?
#195 #620766
>>620591
Требование такое
#196 #620769
>>620766
Так он и будет читать из дерева, ты же только ссылку на ноду будешь передавать.
maly-yoba.jpg
#197 #620825
>>620523

>образовательный контент про EF 7


Это который еще даже не релиз?
#198 #620862
>>620404
Котаны, что по-вашему значит

>мочь в английский?



Достаточно читать-переводить, половину слов подсматривая в переводчике при постоянной практике незнакомых слов становится всё меньше и меньше, по себе знаю, или нужно 24/7 думать на английском?
#199 #620879
>>620825

>Это который еще даже не релиз?


Который уже RC.
98 Кб, 1293x808
#200 #620883
Посоветуйте какой-нибудь крутой способ почистить строчку от escape символов и пробелов. Про String.Replace и String.Trim знаю, но это как-то слишком просто и вообще какой-то костыль ебаный.
#201 #620886
>>620883

>node.Children[0].Children[0].Attributes


Начальник!

В trim() нет ничего плохого, либо приведи код самой ноды, может ты не добрался до нужно спана и берешь textContent у прародительского дива.

У мала есть апи же, оче хочется попарсить хтмл?
sage #202 #620889
>>620886

>хтмл


Ну ты точно можешь в английский.
Или это такой йумор 20-летних уёбков?
#203 #620890
>>620886

>У мала есть апи же, оче хочется попарсить хтмл?


Официальный API и Atarashii api не отдают favorites из профиля пользователя. Приходится пердолить свой велосипед.
#204 #620892
Сап зк, есть один код:
List<string> newFiles = sale.Images.Where(a => !oldFiles.Any(x => x == a.Image.SourceUrl.Split('/').Last())).ToList();
У oldFiles тип List<string>
У Images тип List<ImageContainer>
ImageContainer самописный класс, содержит поле Image, которое в свою очередь содержит поле SourceUrl.
Конпелятор ругается на то, что не может преобразовать List<ImageContainer> в List<string>. Это конечно логично, однако я нихуя не знаю, как можно решить эту проблему.
#205 #620895
>>620892
Я не совсем понимаю проблему по одной строчке и, возможно, я напишу бесполезную хуйню, но для преобразования данных можно использовать LINQ метод Select. Мб тебе это как-то поможет.
sage #206 #620897
>>620889
izvini ples, pishu s klaviaturi bez angliiskih bukov
#207 #620902
>>620889
Двачую! Эти уебаны скайп называют скупе, им это смищно.
#208 #620915
>>620883
Юзай Regex.Replace.
#209 #620922
>>620902
привед медвед
#210 #620928
>>620892
Ну так ясен хуй, ты собираешь новый List<ImageContainer>, а хочешь видеть List<string> как итог. Что у тебя в этом newFiles должно быть? Строки? Тогда добавь к своей конструкции .Select(y => некая строка).
#211 #620951
Как в одном потоке обработать событие, вызванное в другом потоке? Первый поток не UI
39 Кб, 1179x570
sage #212 #620958
Анон, смотри чему я хочу научится.
Есть программы которые позволяют некому персонажу "жить на твоём рабочем столе" , я не знаю как они называются, у самого такая есть, смотри изображение.
Я хочу узнать как они делаются и попробовать сделать что то похожее, но я просто не представляю как такое можно реализовать. Есть какие нибудь ссылки, идеи или что нибудь что сможет помочь мне?
39 Кб, 1179x570
#213 #620959
>>620958
Случайная сажа
Анон, смотри чему я хочу научится.
Есть программы которые позволяют некому персонажу "жить на твоём рабочем столе" , я не знаю как они называются, у самого такая есть, смотри изображение.
Я хочу узнать как они делаются и попробовать сделать что то похожее, но я просто не представляю как такое можно реализовать. Есть какие нибудь ссылки, идеи или что нибудь что сможет помочь мне?
#214 #620970
>>620895
>>620928
Спасибо братишки
#215 #620997
>>620959
Бамп поняшкам на рабочем столе ^_^
#216 #621007
>>620997
В гугол не можешь что ле? Делается это крайне примитивно:
http://stackoverflow.com/questions/8349215/how-to-display-an-image-without-a-window-in-c-sharp
Грубо говоря, тусуется у тебя такая форма поверх всех окон или всплывает когда нужно. Сама прога при этом живёт в систем трэе, чтобы не светиться на таскбаре. Все юзер инпуты перехватываются при необходимости.
Короч элементарная хуйня.
#217 #621150
>>620862
Нужно уметь разговаривать на английском.
Мочь в англ это хотя бы уровень В2 по CERF
#218 #621178
>>621150
CEFR

слоуфикс
sage #219 #621232
>>621178
лол, по запросу CERF гуглится СУКА.
#220 #621259
>>618942

>Загрузка Visual Studio для установки без подключения к сети


https://msdn.microsoft.com/ru-ru/library/e2h7fzkw.aspx#BKMK_Offline
#221 #621276
Ну и нахуй этот с# нужен? Вакансий вообще мало
#222 #621289
>>621276
Ты аутист или просто залётный дебил? .NET третий по популярности после Java и джаваскрипта, Java популярна среди молодных пока еще только из-за андроида, в сфере enterprise .net на пятки наступает джаве.
В таких странах как РБ на .NET вакансий больше, чем для любых других ЯП + экосистема (руби, аутистопердон, плюсы и др.), кроме джавы и джаваскрипта.

> jobs.tut.by


> Ruby Найдено 48 вакансий


> Python Найдено 90 вакансий


> Java Найдено 189 вакансий


> .net Найдено 123 вакансии

#223 #621302
>>621289

>.NET третий по популярности после Java и джаваскрипта


А как же PHP?
#224 #621305
>>621289
Ну и нахуй эта с позволения сказать "страна" РБ нужна? Если нормальный программист, лучше свалить из неё в США или Канаду поскорее.
#225 #621308
>>620862
Я бы сказал - что-то посередине. "Мочь в английский" в контексте, уместном в этом треде, - это уметь свободно, без словаря, читать технические тексты, в т. ч. MSDN. Учитывая, что эти тексты переполнены международной лексикой и большинство профессиональных терминов выглядят по-русски и по-английски одинаково, высокого уровня английского не требуется. Для чтения худлита, например, обычно требуется существенно более высокий уровень, для способности свободно без словаря поддерживать устную беседу - тоже. Хотя для программиста способность поддерживать беседу на английском может и пригодиться для общения с зарубежными заказчиками. Но это уже необязательно, а вот без способности читать учебники и техническую документацию, по-моему, не обойтись.
#226 #621309
>>621302
Он слишком элитарный, недоступный для быдла. Так же как и другой элитный язык программирования - 1С.
#227 #621337
>>621305

>США или Канаду


А там самые востребованные языки - это C++ и Cobol
#229 #621477
>>621289
1с перспективнее. В 100 раз больше вакансий и больше зп. Не вижу смысла дрочить с#. Хуета а не язык
2174 Кб, 1920x1080
#230 #621537
>>621477
Я ни на что не намекаю, но в Польше нет 1с вакансий, а .NET есть.
#231 #621546
>>621537

> анимедаун



Уебывай.
#232 #621581
>>621537
Я понимаю, если бы ты написал о США или Германии, а Польша-то кому интересна?
А так - наверняка в Польше есть SAP или другой аналог 1С.
#233 #621622
>>621302
Да, про PHP забыл, я еще С++ не включил, на который тоже меньше вакансий, чем на .net. Мой посыл был не в этом, это я так, тут большая погрешность при таком счёте, там же просто поиск по ключевым словам, просто я хотел ответить этому дауну залётному, что кто бы кукарекал, если на .net нет вакансий, то что уже говорить о других языках и платформах. На .net полно вакансий, лол, на такие языки как скала, хачкель, эрланг, кложа, вообще нет нихуя, так же как и на груви, луа, GOвно и проч. Мой друг свалил 1 год назад из РБ в Канаду, в Торонто живёт, тоже .net-чик, работу нашёл в каком-то стартапе меньше чем за месяц, .net + js, плюс дотнет очень популярен как enterprise платформа в UK например. Да и я сам считаю C# одним из лучших языков и .net/mono как очень хорошие платформы, мне их хватает для всего практически. Нужен кросплатформенный софт - mono, нужна быстрота - я скомпилю с .net native, хочется для мобилы запилить что-то - я запилю под винфон, хочется для ведра или ios - я возьму ксамарин, либо запилю на phonegap, веб - asp vnext, либо mono+nancy, да любую хуйню вооще можно сделать, любые сервисы, любые вычисления в облаках. Я перебробовал много языков и платформ, долго уже работаю, мне .net-а и js-a вообще для всего хватает, из последнего мне разве что раст понравился, подающий надежды язык, можно лет через 5 из него что-то серьёзное выгорит.
>>621477
Дрочи 1С, кто тебе мешает? Работу всегда найдёшь (ближайшие лет 5-6 точно). Искренне желаю тебе удачи. Только сделай мне одно маленькое одолжение - съеби из треда и скрой его у себя.
>>621305
Кароче, .NET говно, он мёртв уже, полон архитектурных ошибок и хуёво протещен, только долбоёбы им пользуются, вообще это высер злобного майкрософта, которые хотят всем жизнь испоганить и больше ничего, всё-таки империя зла хули, тебе точно он не нужен, просто поверь мне. А теперь съеби.
#234 #621629
Когда там немоно а "нормальный" .NET на Linux/Mac?
#235 #621631
>>621629
А чем Моно ненормальный?
#236 #621650
>>621629
.NET Core уже RC, но он сейчас поддерживает только ASP.NET и UWP приложения.
#237 #621657
>>613441 (OP)
Какая комбинация клавиш в VS 2015 удаляет строку под курсором? Перерыл все настройки, так и не смог найти или назначить.
#238 #621658
>>621657
Ctrl + X же.
#239 #621664
>>621658
Но Ctrl+X вырезает в буфер обмена, а мне надо просто удалить, в буфере у меня другой фрагмент.
#240 #621666
>>621657
CRTL+L
#241 #621695
>>621657
Юзаю шифт - стрелка вниз - дел. Курсор должен стоять в начале строки.
#242 #621696
>>621666
То же самое, что и Ctrl+X
#243 #621855
Боковое меню с пунктами, к каждому из которых есть выпадающие подменю, находится в лэйауте страницы. Когда кликаешь на подменю открывается новая страница с дефолтным лэйаутом, то есть все подменю закрыты.
Можно как-то прописать в одном месте для таких-то страниц должно быть открыто такое подменю, не прописывая скрипт на каждой станице.
#244 #621865
>>620862

>или нужно 24/7 думать на английском?


Нет, такого не нужно. За исключением случаев работы в иностранной компании, там умение свободно говорить может дать очень сильные бонусы. В остальном достаточно уметь читать MSDN и SO без машинного перевода - это уже 90% инфы по дотнету. Хорошо бы ещё уметь правильно составлять правильные запросы в гугле на английском, тогда инфа будет искаться ещё быстрее.

>>621477

>1с


Ничего не имею против вакансий, но сам язык до ужаса блевотный. Сами продукты тоже не доставляют ни разу.

>>621622

>Да и я сам считаю C# одним из лучших языков


Поддвачну. Дело даже не в каких-то там фичах языка, а в избыточной и удобной документации, а также офигенно удобной IDE.
Я вот временами пытаюсь писать на C/C++ под *nix, т.к. считаю, что их тоже знать нужно. Но очень часто подвисаю из-за проблем с поиском ответов на вопросы. Плюс там традиционные библиотекопроблемы. Это скачай, то скомпиль, а тут версию другую надо - короче, очень много мороки.
#245 #621873
>>621865

>Это скачай, то скомпиль, а тут версию другую надо


У нас это может тоже скоро появится с неполным .net core то.
76 Кб, 560x371
#246 #621933
Есть годные либы для построения трехмерных графиков по типу пикрелейтед-матлабовских?
openGl не предлагать.
#247 #621936
>>621855
А что делает скрипт? Короче, подразумевая, что ты рендеришь разметку через Razor на сервере, берёшь своё боковое меню и выносишь его в отдельный компонент (в MVC 5 для этого создаёшь экшен с атрибутом [ChildActionOnly] для логики + добавляешь паршиал для представления, в MVC 6 есть ViewComponent). Внутри экшена динамически генерируешь вьюмодель со списком всех пунктов меню, у вьюмодели пункта меню будет текст меню и булево свойство IsActive, которое и будет отвечать за то, выбран ли данный пункт меню или нет. Можешь определять заселекщен ли определённый пункт меню следующим образом: парсишь URL запроса и по выдранному из него сегменту ставишь IsActive в true нужному пункту меню. Внутри паршиала пункту меню у которого IsActive == true добавляешь какой-то CSS-класс типа .active, чтобы на UI-е он отображался как активный и всё.
#248 #622041
Реквестирую учебник в которым автор много угарает и очень легко обьясняет все, а то заебался уже читать всяких серьезных дядь
#249 #622100
>>622041
Лел, иди мемасов почитай лучше.
sage #251 #622108
>>622106
Топ кек
#252 #622149
>>622108
Не ну а что. Чувак же просил с угаром.
#253 #622198
>>622041
Стиллмен.
#254 #622222
>>622041
Книги по программированию ни-ну-жны. Точка.
Ну может совсем классиков типа K&R или Страуструпа почитать можно.
#255 #622227
>>622222
Какую альтернативу ты предлагаешь?
#256 #622233
>>622227
Да всё в сети есть, очевидно же. Ответ на любой вопрос, причём часто со множеством альтернатив.
#257 #622244
У вас есть две секунды чтобы насрать мне в рот пояснить стоит ли вкатываться в C# и ASP.NET/Windows Phone/формочки для того, чтобы фрилансить и пойти на удалёнку работать.
Пока копчу жабу по Эккелю, сам нуфаг.
#258 #622253
>>622244
Нет, не стоит.
#259 #622266
>>622253
А если очень хочется?
#260 #622267
>>622266
Лучше учи Джаву, сисярп сейчас мёртв.
#261 #622270
>>622267
Мёртв в плане работы? Ходят слухи что жабу пидорнут в угоду ГО и жаба срочно поедет вниз, а пилить тырпрайз офисный я не хочу (и так ASP.NET популярнее в разы Спринга).
#262 #622274
>>622270
Не верь слухам, жава живее всех живых, а сисярп бьётся в конвульсиях.
#263 #622276
>>622274
Но ведь нет альтернативы столь мощной как C# в .NET, о каких конвульсиях речь?
863 Кб, Webm
#264 #622279
#265 #622282
Выручай анон, я опять вкатываюсь со своим говном.
newFiles = sale.Images.Where(a => oldFiles.Any(x => x != a.Image.SourceUrl.Split('/').Last())).Select(y => y.Image.SourceUrl).ToList();
Вот тут >>620892 описал, что где.
В общем Image.SourceUrl иногда может быть равен null. Тогда вместо него следует брать Image.NormalUrl. Как такое реализовать в этой конструкции? И подскажите, что почитать, чтобы разобраться в этих лямбдах и linq.
#266 #622289
>>622282
Лень было всю твою конструкцию в точности воспроизводить, но идея думаю понятна:

var newFiles = oldFiles.Where(x => x.SourceUrl != "someValue").Select(y => !string.IsNullOrWhiteSpace(y.SourceUrl) ? y.SourceUrl : y.NormalUrl).ToList();

Алсо отучайся городить такие запросы, лучше разбей на несколько меньших. Иначе через неделю уже забудешь что этот запрос делает.

>И подскажите, что почитать, чтобы разобраться в этих лямбдах и linq


Только практика. Придумывай изъёбистые запросы, пытайся сделать. Иначе никак. Чтение поможет лишь частично.
#267 #622292
Вкатываюсь в шарп тред.

Что такое .NET, ASP, ASP.NET? //в вики слишком абстрактно написано ".NET это общая платформа, включающая ASP.NET, а ASP это мощный инструмент для WWW"
Для чего нужны?
Чем они отличаются?

Что из этого учить, если я хочу в веб программирование? Нужно ли начинать с общих азов C# и чем эти азы ограничиваются? Или можно сразу перейти к ASP.NET, и походу дела будут описаны азы самого C#? Какую литературу и в каком порядке посоветуете, в данной области?

Вводные данные: 28 лет, холост. 10 лет назад быдлокодил на ActionScript 1.0 библиотеки для GUI по справочнику СИ (поехавший). Потом перешел на тяжелые наркотики и занялся веб-дизайном. Могу в HTML, CSS, немного SQL. Сейчас одумался, поступил в универ, учу матан и паскаль.
#268 #622295
>>622292

> .NET


Анальное дилдо.

>ASP


Вибромотор

>ASP.NET


Анальное дилдо с вибрацией.
#269 #622299
>>622292
.NET - общее название платформы. Это и семейство языков, и различные либы, и технологии.

ASP.NET - технология .NET, которая позволяет нам мочь в www. Это целый комплекс всего того, что может понадобиться в данном процессе: веб, БД, ОРМ и прочая сетевая байда.

>Что из этого учить, если я хочу в веб программирование?


APS.NET, MVC, WCF. Начинай вкатываться в .NET Core, это скоро будет мейнстримом.

>Или можно сразу перейти к ASP.NET, и походу дела будут описаны азы самого C#?


Можно. Но будет тяжеловато. Придётся подолгу ковырять хэлп, если совсем ничего не знаешь. Но в сети полно туториалов, при желании разберёшься.

>Вводные данные: 28 лет, холост. 10 лет назад быдлокодил


Ты это я, лол лет шесть назад. Всё получится, C# очень ненапряжный в этом плане.
#270 #622301
>>622295
Проиграл, а ведь всё верно.
#271 #622363
>>622289
Спасибо, помог.
#272 #622380
>>622363
Заканчивай писать километровые строки, пиши колоночками. http://pastebin.com/LZZ9tRGw
#273 #622386
>>622380
Fluent API тоже позволяет писать в колоночку.
#274 #622393
>>622386
Так скобочек и стрелочек меньше.
#275 #622395
>>622393

>Так скобочек и стрелочек меньше.


Но такой синтаксис поддерживает лишь подмножество LINQ.
#276 #622396
>>622393
Для запросов, которые могут быть выражены и в query, и в method syntax, субъективно, больше нравится method. Но иногда он в принципе единственный вариант.
#277 #622414
киньте нормальную обучалку для лошка петушка чайник в треде
#278 #622433
>>622414
Кинул тебе за щеку, проверяй.
#279 #622494
>>622433
говна себе за щеку кинь пес
#280 #622505
>>622299

>APS.NET, MVC, WCF. Начинай вкатываться в .NET Core, это скоро будет мейнстримом.


Анон может в годные советы. Только вот перед этим списком я бы ознакомился с основными конструкциями языка(всякие там циклы, ветвления, лямбды и тд).
#281 #622516
>>622505

>APS.NET, MVC, WCF


Как в этот стэк включается WCF? Как WCF используется в вебе?
#282 #622657
Это же небезопасно хранить айдишники записей в хидден инпутах на странице? Ведь их можно запросто отредактировать и изменять в базе совершенно другие записи. Получается нужно каждый раз делать проверки достаточно ли прав у пользователя делать изменения для этого айди? Как-то муторно выглядит
#283 #622659
>>622516

>web services


>используется в вебе?

#284 #622661
>>622657
Если у тебя какие то права доступа на записи, то тебе в любом случае надо всегда их проверять.
#285 #622674
>>622659
Можешь привести типовой пример задачи, которая решается с помощью wcf web service? Что эта штука может сделать чего не может web api какой-нибудь? Или она исключительно для интероперабельности с другими .net приложениями используется?
#286 #622677
>>622657

>Получается нужно каждый раз делать проверки достаточно ли прав у пользователя делать изменения


Да.
#287 #622781
>>621657
Shift del. Но это не точно
#289 #622856
>>622845
В хуй свистни.
#290 #622877
ну бысто обьяснили мне как подобрать пароль к контактику? не пиздостраделец не тролль чую тянку мою подрюкивает один кун
#291 #622878
>>622295
спасибо, оче наглядно

>>622299
спасибо за развернутый ответ. Интересно, в какой компании и кем сейчас работаешь? У тебя сейчас есть машина/квартира/жена? Живешь в РФ или тракторист?
#292 #622880
>>622877
Быдло не нужно. Уходи.
#293 #622881
>>622880
я тут давно сам пиздуй
#294 #622908
Я тут C# решил подучить после Java. Чего такого можно реализовать строк на 500-1000 кода? Желательно, чтобы это было интересно и не нудно. Сразу скажу, что мой максимум пока на Java - это где-то 3500 строк кода для одного проекта. Хочется чего-то кроссплатфоменного и прикладного.
#295 #622919
>>622674
Web api - это только restful. Дуплекс сервис ты на нем уже не напишешь.
#296 #622971
>>622919

>Дуплекс сервис ты на нем уже не напишешь.


Зачем это вебу нужно когда можно вебсокетами реализовать дуплексный обмен данными? Это типа чтобы я мог с какого-нибудь десктоп-приложения типа WPF подрубиться к какой-то части веб-сервера по TCP, например?
#297 #622993
>>622971
Web Sockets - это протокол, а Wcf - фреймворк, на котором пишутся в том числе и web sockets сервисы. И да, полно случаев, когда дуплексный сервис должен использовать определенный протокол.
#298 #623185
Херня какая-то
По неизвестной причине не работает запрос написанный с помощью linq в программе, не выдает никаких результатов
Продебажил, увидел какой запрос генерит EF скопипастил в менеджмент студию ВСЕ РАБОТАЕТ НОРМАЛЬНО, но из программы отказывается работать.
45 Кб, 300x300
#299 #623187
>>623185
SaveChanges() не забыл?
#300 #623189
>>623187
Это же запрос Select, при чем здесь savechanges
#301 #623198
>>623185
И когда я убираю условие сравнения с датой, выдает все данные. Наверное с датой проблемы, но почему тогда в студии все ок, я подставил те же данные что и ef подставляет, в дебагере они тоже есть.
#302 #623218
>>623185
Может ты код уже кинешь, долбоёб? Или мы гадать должны? На что ты вообще рассчитываешь с вопросом типа "у меня ничего не работает. Что делать?".
#303 #623219
>>623185
Браток, телепаты в отпуске. Кидай код или включай мозг и разбирайся сам.
sage #304 #623234
>>623218
Люто двачую.
Сам факт что человек, даже спросить не может нормально, говорит о том что у него и код будет работать так же.
#305 #623236
>>623218
>>623219

Все равно бы в моем говнокоде никто разбираться бы не стал
А ошибка была вообще джаваскрипте
Месяц в дате там должен быть сначала а потом дата, а у меня наоборот было.
#306 #623237
>>623236

>потом дата


потом день
131 Кб, 1280x768
sage #307 #623241
Ку, ребят.
Кто со мной будет изучать C# (читается как си шарп) ?
Я уже изучил немного этот язык программирования и даже написал однопоточную DDos систему.( которая нихрена не дудосила, т.к. 1 поток )
Для чего, как и зачем я объясню в ЛС, но скажу одно, что мне нужно в команду 2-3 человека(с учетом меня). Хакерский клан и все такое.
Возраст не важен.
P.S. Пишу с телефона, поэтому не очень удобно, приеду домой напишу подробнее в комменты.
#308 #623258
>>623241
Бля, иди сри в другом треде, долбоёб.
sage #309 #623267
>>623241

>Возраст не важен.


Понятно, что не важен, тебе же 11 лет. Не засирай тему однопоточный дудосер.
#310 #623271
>>623241

>Пишу с телефона


Кодишь, надеюсь, тоже с него, животное?
#311 #623272
>>623267
Я в 12 лет писал проги круче чем 90% программача. Инфа 100%.
#312 #623288
>>623271
Я не животное, я млекопитающие.
#313 #623326
анон, меня уже коробить, плз, подскажи:
Необходимо сравнить два вектора одинаковой длины, выводить сообщение в том случае, если каждый элемент одного вектора был больше или равен соответсвующего элемента другого вектора и хотя бы один был строго больше.
[CODE] static void Comparer(int[,] fArr, int[,] sArr) {
int[] v1 = new int[8]; int v2=0; int[] v3 = new int[8];
for(int i = 0; i < 5; i++) {
for(int j = 0; j < 5; j++) {
if(i != j) {
for(int k = 0; k < 8; k++) {
if(fArr[i,k]>=sArr[j,k]) {
v1[k] = 1;
}
if(fArr[i, k] > sArr[j, k]) {
v2 = 1;
}
}
if(sum(v1) == 8 && v2 == 1) {
Console.WriteLine("Удаляется решение №{0}", j);
}
}
}
}
}[/CODE]
#314 #623327
>>623326
Теги - не теги плак плак
Скинул на pastebin код
http://pastebin.com/SRWkHRN4
#315 #623421
Есть один файл csv, грубо говоря строки разделены ';'

10,89;01.06.2015
10,81;15.06.2015
9,89;15.07.2015
9,75;07.08.2015
9,21;15.09.2015
9,02;15.10.2015
9;17.11.2015

хочу создать структуру с двумя полями double и DataTime

как грамотно спарсить и сделать лист структуры? я уже затрахался, так наговнокодил что аж студия зависла.

Перекатами по форумам нарыл такое решение (для Dictonary а не для стуктуры)

private static Dictionary<string, string> config;
var splitChars = new[] { ';' };

config = File.ReadLines("percentage.csv")
.Select(s => s.Split(splitChars, 2))
.Where(parts => parts.Any()) // убрали пустые строки
.Skip(1)
.ToDictionary(parts => parts.First().Replace(',','.'),
parts => parts.Skip(1).SingleOrDefault());

как бы со диктонари удобнее что я потом по дате смогу обратиться к double, хуй с ними со структурами, но как создать
Dictionary<double, DataTime> ??

не хочу потом конверить, уебищно выглядит да и не правильно
DateTime.Parse(config.ElementAt(i).Key);

ругается компилятор
#315 #623421
Есть один файл csv, грубо говоря строки разделены ';'

10,89;01.06.2015
10,81;15.06.2015
9,89;15.07.2015
9,75;07.08.2015
9,21;15.09.2015
9,02;15.10.2015
9;17.11.2015

хочу создать структуру с двумя полями double и DataTime

как грамотно спарсить и сделать лист структуры? я уже затрахался, так наговнокодил что аж студия зависла.

Перекатами по форумам нарыл такое решение (для Dictonary а не для стуктуры)

private static Dictionary<string, string> config;
var splitChars = new[] { ';' };

config = File.ReadLines("percentage.csv")
.Select(s => s.Split(splitChars, 2))
.Where(parts => parts.Any()) // убрали пустые строки
.Skip(1)
.ToDictionary(parts => parts.First().Replace(',','.'),
parts => parts.Skip(1).SingleOrDefault());

как бы со диктонари удобнее что я потом по дате смогу обратиться к double, хуй с ними со структурами, но как создать
Dictionary<double, DataTime> ??

не хочу потом конверить, уебищно выглядит да и не правильно
DateTime.Parse(config.ElementAt(i).Key);

ругается компилятор
#316 #623497
>>623421

>как грамотно спарсить и сделать лист структуры?


Использовать готовую либу.

Иначе можно так:
https://dotnetfiddle.net/9gTE9H
#317 #623612
Помогите ньюфагу, говном не кидать. В чём разница замещения метода(new) и переопределения(override), в гугле был, на мсдне был, как что делать, как использовать, когда применять, всё есть, а в чём по итогу разница понять не могу.
#318 #623614
>>622908
сделай себе жизнь
14 Кб, 395x570
#320 #623793
>>623421

>я уже затрахался, так наговнокодил что аж студия зависла.


мдя, походу весело у вас тут

короч посоны, я после плюсов нихуя не понимаю передачу по ссылке и по значению.
переименования b2 происходить не должно?
так? чо за хуйня?
#321 #623798
>>623793
Инстанс класса - это reference type, угадай как он передается.
То что у тебя там ref Bitard написано - это значит что ты можешь в методе сделать b = new Bitard() и вот тогда у тебя downgrade1 поменяет саму ссылку прямо в b1. Ты конечно можешь и в downgrade2 так написать, и в пределах метода у тебя будет новый объект, но как только метод закончится - это новый объект пойдет нахуй, а b2 останется ссылкой на тот же кусок памяти как будто в шарпе всем не похуй на куски памяти. А насчет полей объекта - они меняются всегда, у тебя же ссылка на объект передалась. Почитай про value types и reference type в рихтере например.
#324 #623801
>>623798
помоему понял
#325 #623802
>>623800
понял.
по умолчанию передается указатель на объект.
ref передает указатель на указатель на объект.
#326 #623803
>>623798

>но как только метод закончится - это новый объект пойдет нахуй


после плюсов дико звучит.
надеюсь имеется ввиду что умный сборщик мусора все позже разрулит.
#327 #623805
>>623803
Таки да, ссылок на объект нет - значит нинужен, а этим занимается gc.
#328 #623877
>>623497
добра!
48 Кб, 500x360
#329 #623890
Перекатываю легаси-говно на новую СУБД, соответственно нужно перенести данные из одной базы в другую.
Пытался делать селект к старой базе, получать DataTable, и проходиться в цикле по ее строкам, делая инсерты в новую базу.
Но на больших таблицах (500 мегабайт и больше) я ловлю OutOfMemoryException.
Использовать LIMIT не вариант, в анальном FOXPRO его попросту нет.
Щито делать?
3 Кб, 485x954
#330 #623894
Аноны! Объясните, почему биндинг не пашет??? Привязал Ширину грида к ширине другого грида, при запуске нихуя не одинаковая у них ширина.

<Grid x:Name="GridMainInfo" BorderBrush="Gray" BorderThickness="3" HorizontalAlignment="Right" MinWidth="300" MaxWidth="500" VerticalAlignment="Top" Margin="0,10,10,0" >

<Grid BorderBrush="Gray" BorderThickness="3" Width="{Binding ElementName=GridMainInfo, Path=Width}" HorizontalAlignment="Right" Margin="0,265,10,10" >
38 Кб, 1015x610
41 Кб, 1055x643
#331 #623904
>>623894
Ну так width первому гриду задай и заработает.
#332 #623905
>>623904
Так зачем мне ему задавать Width если он должен сам задаваться. Первый грид получает ширину в зависимости от контента. И имеет ограничитель в MaxWidth = 500;
#333 #623907
>>623904
Да, по сути у него ширина не определена, но она же есть. При запуске я вижу грид, который определил свою ширину от ширины контента, и ограничил её по проперти maxwidth. Но почему я блядь не могу её получить? У него же есть ширина, он же блядь не бог, которого не существует, алё!
#334 #623909
>>623907
Ну тогда тебе надо привязывать к ActualWidth, а не к Width.
#335 #623910
>>623909
Вот теперь, огромнейшее спасибо, анон.
#336 #623914
Аноны, ещё вопрос, есть ЛистВью. Который биндится
ItemsSource="{Binding}"
ItemTemplate="{StaticResource ImageTextListTemplate }"
Соответственно в ресурсах страницы определён DataTamplate.
Так вот, Сам листвью лежит в гриде, и всё пашет. Но когда я определяю в гриде колонку, и указываю в листвью Grid.Column ="0" то при запуске листвью куда то съёбывает, или контент его, я не ебу. Подскажите где я обосрался?
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
15 Кб, 577x580
#337 #623915
>>623914
Если че, то в визуальном редакторе, этот пидарас лежит. Я так понимаю, его контент съёбывается, а точнее сам DataTemplate, но почему?
#338 #623918
>>623910
Width и height это именно заданная ширина и высота, если ты ее вручную не задавал, то она всегда 0.
>>623915
Показывай весь xaml, а то так не понятно нихрена.
#340 #623921
>>623919
Бампц
#341 #623924
>>623890
Сам спросил, сам ответил.
Нужно было использовать DbDataReader для потокового чтения.
>>623921
Какой бампц на полудохлой борде-то?
Не вижу я что там не так, надо танцевать с бубном.
У тебя вообще в нем перестают записи отображаться или отображаются, но как будто без темплейта либо пустые?
#342 #623925
>>623924
Вообще перестают отображаться записи. На всяких оверфлоу впадлу создавать нить.
#343 #623939
>>623925
У тебя не записи перестают отображаться, а сам контрол.
Ты на его марджин посмотри, он у тебя за экран вылазит.
#344 #623941
>>623939
Да, спасибо, уже нашёл свой Obosreaque. Дико извиняюсь аноны.
#345 #624264
Есть вопрос по MVC. Обычная структура в проекте - папка контроллеров, папка моделей, папка вьюх. Это прекрасно, но у меня на проекте куча-куча страниц, которые не юзают модели повторно. Т.е. один контроллер работает с одной моделью и одной-двумя вьюхами (которые другие контроллеры не юзают). Собственно, не было бы ли лучше размещать все для каждой странице вьюху, модель и контроллер в одной папке? Кто-то так делает?
#346 #624333
>>624264
Это называется "организация структуры папок по функциональности", а не по типу компонентов. Можешь воспользоваться "Areas" механизмом (http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx/) – это тебя устроит?
#347 #624335
>>624264
Да и ещё у тебя контроллеры в принципе должны зависеть только от вьюмоделей и моделей (здесь модель – это класс ОРМ), а все классы ОРМ должны быть вынесены в другую сборку, то есть по сути у тебя контроллеры должны зависеть только от своих же вьюмоделей, а вьюмодели переиспользовать не получается в 99% случаев, не знаю зачем я это написал.
#348 #624338
#349 #624388
Анон, скажи, а что там с кроссплатформой? Я слышал в начале года новость, что скоро выйдет на линупс и макось, все дела. Когда? А то джава на работе конкретно заебала, хочу начальство подгребсти к переписке бэкенда с джавы на шарп.
#350 #624391
>>622299
Можешь пояснить почему ASP.NET так "слабо развит" (как мне кажется)? Почему даже у нас в мухосрани 300к людей можно устроиться рубино-рельсовой макакой, а про ASP.NET даже и не знают.
Чем эти опенсорнсые рельсовые поделки с кучей багов, с отсутствующей обратной поддержкой верстй, написанные на ИНТУИТИВНО ПОНЯТНОМ ЯЗЫКЕ с кол-вом необязательных элементов синтаксиса большим чем обязательных, лучше дотнетовской фичи?
Если честно у меня никогда такого адского бугурта от кол-ва багов, ошибок, костылей не было, как от изучения Rails.
#351 #624401
>>624391
Могу предположить потому что ASP.NET до пятой версии (которая ещё не вышла) сильно завязан на шиндошс: нельзя захостить сайт за 2 рубля где угодно. Хороший хостинг с масштабированием это ажура, а там нужно много денег платить. К тому что базу данных ты скорее всего будешь использовать MSSQL Server, а она вроде тоже не бесплатная.
#352 #624461
>>613441 (OP)
ШОК СЕНСАЦИЯ!!
В VS2015 вшит майнер?
VS2015 community сегодня ВНЕЗАПНО стал жрать ресурсы во время простоя. Процесс devenv.exe *32 из рабочей папки грузит проц на 5-20%, постоянно горит красная лампочка на системнике и шумит HDD, что бесит и отвлекает. При удалении файла VS2015 ругается на его отсутствие и не запускается.
Сегодня ровно месяц, как я установил комьюнити версию и зарегал на фейкомыльце. Совпадение? Мелкомягкие пидарасы специально это сделали?
#353 #624465
>>624461

>стал жрать ресурсы во время простоя



Постоянно и во время простоя в том числе. Компиляция стала раза в 4 дольше.
быстрофикс
#354 #624484
>>624461
Да, ну она бесплатная зато. Ну скоро можно будет выключить майнер и вместо него просто смотреть рекламу.
#355 #624529
>>613441 (OP)

>Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.


Уважаемые элитные разработчики, как ограничить максимальный размер элемента массива int[] arr, чтобы он был не больше X?
#356 #624531
>>624529
if (arr[index] > X) throw new YobaException();
#357 #624537
>>624529
Хуяришь короч свою реализацию массива и в сетере пишешь что тебе угодна)
#358 #624571
>>624388
Бамп вопросу!
#359 #624644
>>624571
Asp.net 5 1.0.0 - Q1 2016
EF7 1.0.0 - Q1 2016
.net core rtm - Q1 2016
#360 #624696
>>624644

>EF7


Зачем в EF кроссплатформа если это говно все равно хуй с чем работает кроме M$ $QL $erver?
#361 #624700
>>624696
Работаю с этой хуйнёй, использую для оффлайн бд на UWP прилажках ^_^
150 Кб, 631x616
#362 #624707
>>624700

>прилажках ^_^

sage #364 #624713
517 Кб, 2840x2470
sage #365 #624718
#366 #624748
>>618286
У меня вот нету, а в конфу хочется.
#367 #624752
>>620280
csquery попробуй
#368 #624753
>>624748
Посоны, не забываем репортить конфораков и понидебилов.
#369 #624793
>>624752
Как уже заметили, лучше AngleSharp все-таки, CsQuery слишком медленный.
22 Кб, 690x330
#370 #624973
Оп, подскажи пожалуйста как спарсить JSON
http://basicdata.ru/api/json/calend/

и забить массив DateTime ПОЖАЛУЙСТА

завал по коду пиздец, 1го дедлайн кроме этого еще говнокодить нужно тысячу строк. я хотел воспользоваться json2csharp но почему то говорит неправильный формат
#371 #624974
>>624973

>не ОП, а шарпач

#372 #624980
Начал учить C# и не могу написать программу, которая будет, при запуске, писать в консоль название случайной страны.

Может кто помочь ?
sage #373 #624989
>>624973
>>624980
Что за дегенераты спрашивают такие вопросы?
sage #374 #624991
>>624973
Возьми json.net и не еби мозг в основном себе
#375 #625002
НАКАНЕЦТА, Я ДЖВА ГОДА ЭТОГО ЖДАЛ

http://blog.jetbrains.com/dotnet/2016/01/13/project-rider-a-csharp-ide/
#376 #625012
>>624980
Console.WriteLine("название случайной страны");
#377 #625015
>>625002
Ну и нахуй это говно, если есть Студия?
#378 #625022
>>625015
Студия без решарпера совсем печальной кажется, а с последней студией решарпер уж слишком тормозить начал, вплоть до неюзабельности. Для консольных проектов, либ и веба будет самое то, а для всего остального будет студия.
sage #379 #625055
>>625022
Хуй знает, что там у тебя тормозит, но у меня нихуя не тормозит, даже намёка на тормоза нету, что дома, что на работе студия + решарпер. Купят говноноут за 300$ и потом кукарекают, что что-то тормозит.
#380 #625057
>>625055
Обоссал мамкиного богача.
#381 #625075
Хотел бы совета как можно реализовать веб-сервис.
Суть сервиса:
При запуске сервиса загружаем файлы с диска, получаем таким образом некие данные. При запросе к сервису отдаём запрашиваемую часть этих данных.
В случае если бы данные вытаскивались при каждом запросе из бд понятно, а вот вариант с хранением в "оперативке" не могу понять.
#382 #625231
>>621933
Был годный ILNumerics, но озалупился в онли-платный режим
#383 #625275
>>622878
Тракторист, живу в РФ.
#384 #625336
сап двач.
почему for не видит переменную n, тогда как while с этим справляется
http://pastebin.com/ZeFkcNki
10 Кб, 333x418
#385 #625362
>>625336
Че он у тебя не видит?
24 Кб, 466x310
#386 #625383
Такой вопрос. Касательно асинхронности и вот этого всего.
На примере async механизма.

Допустим у нас есть GUI приложение, в нем есть некий асинхронный код написанный через async/await.
Как всюду пишется, этот код не будет создавать дополнительных потоков, а будет выполнятся в потоке UI.
В UI потоке есть синхронизатионконтекс, в котором есть очередь сообщений.

Итак.
1) Начинает выполнятся какоя-то IO.
2) Пока она выполняется UI поток спокойно себе обрабатывает сообщения.
3) IO операция закончила выполнятся, и в синхронизайшонконтекст UI потока помещается\ через Post сообщение с ссылкой на код который нужно выполнить после окончания IO операции.
4) UI поток извлекает это сообщение из очереди и код выполняется.
5) Профит.

Теперь внимательно на пункт 3.

>в синхронизайшонконтекст UI потока помещается\ через Post сообщение с ссылкой на код который нужно выполнить после окончания IO операции.



То есть нечто, после завершения IO операции, вызывает метод Post в объекте синхронизатионконеткст и выполняет код этого метода, помещающий сообщение в очередь.
Вопрос, что именно выполняет этот код по помещению сообщения в очередь, и по генерации этого сообщения?
Какой-то особенный поток?
Или поток из ThreadPool ?
#387 #625398
>>625362
пришёл домой, проверил ещё раз метод... всё в порядке.
на другой машине, где писал код, через for мне всегда возвращался 0.
очень странно, конечно.
полного кода под рукой нету, поэтому тщательнее протестировать сегодня не смогу
#388 #625404
Где почитать про аутентификация и авторизацию в ASP NET MVC?
Когда проект в VS создаешь, там уже много чего написано по этому поводу, но я не понимаю что к чему.
#389 #625428
>>625383
Код, который для тебя сгенерировал компилятор конечно же всем этим занимается.
#390 #625431
>>625075
Что ты, блядь, не можешь понять, как синглтон в оперативке хранить? Создаешь и хранишь, просто, правда?
#391 #625433
>>624793
Тогда уж AngleSharp
#392 #625434
>>625433
Ну ты понял
#393 #625460
АНАНАСЫ, как мне хуйнуть текст с обводкой черной в ТекстБлок?
91 Кб, 600x600
#394 #625471
А какие есть хорошие билдеры для aspx страничек в asp.net webforms?
#395 #625492
Суп шарпаны, получил домашку короче, взять любую веб-страницу из интернетов, распарсить ее и на основе полученных данных построить дерево ссылок.
Накидайте гадйов о том как страницы парсить, а то меня чет гугл забанил и не находит ничего толком.
#396 #625547
>>625492
Ну так через regex самое то, а чтобы скачать HttpWebRequest сделай.
#397 #625554
>>613479
Явабоги с тобой не согласны
309 Кб, 1573x614
#399 #625578
>>625547
У тут проблема - кодировка наебывается и все русские буквы в кракозябры превращаются. Если вместо WebClient использовать HttpWebRequest, проблема не решится?
#400 #625582
>>625578
Конечно решится, там можешь стрим в любой кодировке прочитать.
#401 #625584
>>625582
Ок, пошел говнокодить.
368 Кб, 1544x739
#402 #625591
>>625584
>>625582
Заюзал HttpWebRequest и символы стали нормально отображаться, спс.
82 Кб, 700x525
#403 #625625
>>625591
Вот, а если бы ты погугли, то знал бы, что у WebClient есть свойство Encoding, и что html регулярками не парсят.
#404 #625627
>>625625
Нельзя использовать сторонние библиотеки, так что Html Agility Pack не заюзать.
#405 #625654
>>625627
Хуево тебе, можно конечно простенький парсер написать, но чет overkill.
#406 #625660
>>625654
Да мне там всего две строчки вырвать и все, на остальной текст можно смело забить хуй. Проблема в том что не у каждой ссылки есть тайтл, и вместо тайтла там просто текст между тэгами. Думаю как с этим справится.
#407 #625677
>>625660
посасать у препода
#408 #625807
>>625428

>Код, который для тебя сгенерировал компилятор конечно же всем этим занимается.


Вопрос о контексте в котором этот код выполняется.
#409 #625812
Сап, шарпаны. Знаю, что NYPA, но нужен внятный пример по использованию web service при наличии wsdl. В принципе, msdn мне все пояснил, но разрабы нужного мне сервиса, похоже, малость упороты (ну или это я упорот и ничего не понял). В общем, сервис использует soap 1.1 и https, а на msdn гайд по wcf, в котором по дефолту soap 1.2, и если делать по этому гайду, то упираюсь в несоответствие версий протокола. А если использовать BasicHttpBinding, то, похоже, не проходит авторизация, ибо получаю exception вида "Запрос HTTP запрещен для схемы аутентификации клиентов "Basic" (сервер возвращает 403).
41 Кб, 612x164
#410 #625819
#411 #625825
>>625812
Там asmx сервис то штоле? Код клиента через wsdl генерировал?
#412 #625830
>>625825

>wsdl.exe

69 Кб, 596x231
#413 #625884
Нашел другой способ как можно распарсить html не прибегая к сторонним библиотекам. Какие подводные камни тут?
#414 #625904
>>625884

>IHtmlDocument2


>2


>COM интерфейс


В c# нет ничего хорошего для html из коробки, так что эскобар.жпг.
#415 #625909
>>625904
Конченое задание, особенно условие не использовать сторонние библиотеки.
#417 #625942
>>625660
Парсить все вида что начинается с http? нет?
#418 #625960
>>625825
Можешь расписать мне, мудаку, порядок действий по шагам? Неважно каким путем генерировать конфиг, через студию или через wsdl.exe, лишь бы работало.
Вообще, заметил странную вещь. В документации к сервису указан endpoint http://rmis-test.i-novus.ru/patients-ws/patient . Однако, когда через студию добавляю ServiceReference, в конфиге обнаруживаю https://develop.r-mis.ru/patients-ws/patient (а сам сервис при попытке открытия в браузере редиректит на https версию).
#419 #625988
>>625960

>другой адрес


Ну они сгенерированную wsdl у себя не поменяли, это сути то не меняет, просто в своем клиенте указываешь нужный адрес. Ты в студии как добавляешь? Я обычно Add Service Reference -> Advanced -> Add Web Reference. На твоем сервисе пароли, так что нельзя просто взять и попробовать.
#420 #626033
>>625988
Да как только не пробовал. Все, что мне нужно, это вменяемый рабочий пример доступа к методам любого сервиса с авторизацией по логину и паролю, дальше я сам. Сам я больше по крестам, поэтому выбрал шарп в надежде быстро набросать клиент. Раньше не приходилось сталкиваться с подобным, и уже просто крыша едет.
#421 #626055
>>626033
Ну хорошо, добавь web reference, создай этот сгенереный клиент/прокси, Url ему укажи правильный и Credentials - создай NetworkCredential. Ошибки?
#422 #626057
List<DateTime> neRabochiiDni = File.ReadLines("ad.csv").Select(x => x.Split(splitChars)).ToList();

Не удается неявно преобразовать тип "System.Collections.Generic.List<string[]>" в "System.Collections.Generic.List<System.DateTime>".

Как преобразовать в LINQ запросе массив в лист?
sage #423 #626059
>>626057
Пиздос.
#424 #626061
>>626057

>neRabochiiDni


А вот пошел ка ты нахуй!
#425 #626062
>>626059
нахуй бы шел, или по факту чего скахал
sage #426 #626064
>>626062
Какой ты дерзкий долбоеб.
60 Кб, 524x365
#427 #626066
>>626064
хотел годных советов от гуру, в итоге наткнулся на петуха с принципом ЗНАЮ НО НИСКАЖУ И АБАСРУ. ты же типичный выблядок, просто уйди если не можешь помочь.
#428 #626076
>>626057
Вот же мудак, иди мсдн открой
.Select(xuy => DateTime.Parse(xuy))
#429 #626078
>>626057

>neRabochiiDni


У нас во дворе за такое убивают нахуй.
#430 #626079
>>626076
neRabochiiDni.AddRange(File.ReadAllText("calendar.csv").Split(splitChars).Select(x => DateTime.Parse(x)));

сделал так, ДОПЕТРИЛ, но все равно хуйцы. Ссылка на объект не указывает на экземпляр объекта
#431 #626083
>>626079
Ты, бля, можешь описать задачу? Что у тебя за файл там?
#432 #626084
>>626079
Ой, все.
#433 #626091
>>626084
Пиздец ты мудень) видел же ошибку, тебе что, сложно было сказать что я делаю не так?) нахуя ты вообще сюда заходишь?

Спасибо, пидорасы, разобрался сам
тред скатился, раньше няши помогали несмотря на мой аутизм, сейчас одни хуесосы непонятно зачем тешатся над теми, которые немного не догоняют и не видят ошибок
#434 #626093
>>626091
neRabochiiDni = (File.ReadAllText("calendar.csv").Split(splitChars).Select(x => DateTime.Parse(x)).ToList());

не благодари, хотя ты и сам разобрался
#435 #626094
>>625431
Спасибо, дорогой, забыл отписать что разобрался и так. Паттерны только начинаю копать.
#437 #626105
>>626091
Да тут какой-то даун появился, тешит свое никчемное чсв
#438 #626119
>>626091
Ты конечно не обижайся, но может с такой хуйней лучше в ньюфаг-тред?
#439 #626122
>>626093

> .Select(x => DateTime.Parse(x))


.Select(DateTime.Parse)
#440 #626123
>>626119
Ньюфаг тред забит полностью обиженными экспертами, там только нахуй могут послать, к сожалению.
#441 #626124
>>626119
где он?
#442 #626125
>>626123
Это двач, тут везде могут нахуй послать.
65 Кб, 500x375
#443 #626207

>игнорировать перекрестные ссылки и исключать повторяющиеся адреса


Кто нибудь может дать внятное описание перекрестной ссылки и как они вообще выглядят?
#444 #626212
>>626207
Так это наверное ссылки на ту же самую страницу, типа на anchor, если там оглавление например.
#445 #626215
>>626212
Я тоже сперва так подумал, но потом погуглил и понял что мне втирают какую то дичь.
http://www.simfosoft.ru/services/95/402/406
#446 #626221
Аноны, как в UWP у AutoSuggestBox поменять бэкгарунд результата? По умолчанию он серый.
135 Кб, 1920x1080
#447 #626269
Почему Address.Host всегда возвращает мобильную версию VK (m.vk.com), а не обычную?
#448 #626271
>>626269
Попробуй выключить AllowAutoRedirect или указать UserAgent нормального браузера в хедерах.
#449 #626281
>>626271
AllowAutoRedirect выключил - не помогло.
В ручную что ли конкретный браузер прописать? А проблем от этого не будет?
#450 #626287
>>626269
Ненавижу таких мразей как ты, неужели так сложно код текстом вбросить?
#451 #626288
>>626287
А зачем?
#452 #626289
>>626288
Чтобы по быстрому в тот же linqpad забросить, быстро понять в чем проблема, и помочь.
#453 #626296
>>626289
Ну лови
public struct LinkItem
{
public string Title;
public string Url;
}
static public class HtmlParser
{
private const string UrlRegex = @"\b(?:https?://|www\.)\S+\b|href=\""(.?)\""";
private const string hrefRegex = @"(href=)
\""";

public static List<LinkItem> Parse(string Url)
{
//if (HtmlParser.СheckUrl(UrlString) == false)
//{
// UrlString =
//}
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Url);
string HtmlPageString;
using (StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream()))
{
HtmlPageString = reader.ReadToEnd();
}
MatchCollection links = Regex.Matches(HtmlPageString, UrlRegex, RegexOptions.Singleline);
List<LinkItem> ListLinkItem = new List<LinkItem>();
foreach (Match item in links)
{
string urlString = Regex.Replace(item.Groups[1].Value, hrefRegex, "", RegexOptions.Singleline);
if (urlString != "" && urlString != "/" && urlString != request.Address.AbsolutePath && urlString != request.Address.AbsoluteUri)
{
if (HtmlParser.СheckUrl(urlString) == false)
{
urlString = request.Address.Scheme + @"://" + request.Address.Host + urlString;
}
ListLinkItem.Add(new LinkItem() { Url = urlString });
}
}
return ListLinkItem;
}

public static bool СheckUrl(string UrlString)
{
Uri uriResult;
bool result = Uri.TryCreate(UrlString, UriKind.Absolute, out uriResult)
&& (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
return result;
}
}
#453 #626296
>>626289
Ну лови
public struct LinkItem
{
public string Title;
public string Url;
}
static public class HtmlParser
{
private const string UrlRegex = @"\b(?:https?://|www\.)\S+\b|href=\""(.?)\""";
private const string hrefRegex = @"(href=)
\""";

public static List<LinkItem> Parse(string Url)
{
//if (HtmlParser.СheckUrl(UrlString) == false)
//{
// UrlString =
//}
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Url);
string HtmlPageString;
using (StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream()))
{
HtmlPageString = reader.ReadToEnd();
}
MatchCollection links = Regex.Matches(HtmlPageString, UrlRegex, RegexOptions.Singleline);
List<LinkItem> ListLinkItem = new List<LinkItem>();
foreach (Match item in links)
{
string urlString = Regex.Replace(item.Groups[1].Value, hrefRegex, "", RegexOptions.Singleline);
if (urlString != "" && urlString != "/" && urlString != request.Address.AbsolutePath && urlString != request.Address.AbsoluteUri)
{
if (HtmlParser.СheckUrl(urlString) == false)
{
urlString = request.Address.Scheme + @"://" + request.Address.Host + urlString;
}
ListLinkItem.Add(new LinkItem() { Url = urlString });
}
}
return ListLinkItem;
}

public static bool СheckUrl(string UrlString)
{
Uri uriResult;
bool result = Uri.TryCreate(UrlString, UriKind.Absolute, out uriResult)
&& (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
return result;
}
}
53 Кб, 1237x983
#454 #626303
>>626296
А сам парсер точно рабочий? Что-то какую-то хуйню выдает
423 Кб, 1070x834
#455 #626305
>>626303
Да вроде рабочий, ссылки находит.
#456 #626337
Я так понял потом из получившегося дерьма из ссылок мне надо будет построить web.sitemap и задатасоурсить его в тривью, да? Или это хуйня затея?
#457 #626346
>>626281
Да. Не будет.
7 Кб, 434x211
#458 #626364
Шарпач, поясни за пик. Это какая-то новая фишка? Так же не должно быть.
#459 #626392
>>626364
Сука, уебал бы тебя за такие названия переменных.

Мимо пробегал.
#460 #626395
>>622878

>кем сейчас работаешь?


Программистом, лол. Есть основная работа, чтобы не расслабляться и рано вставать я - ленивая скотина, да, есть вагон других халтур.

>У тебя сейчас есть машина/квартира/жена?


Жена, двое детей. Остальные материальные блага в наличии хотя я не считаю их сильно важными, ибо, как выяснилось, жизнь полна сюрпризов

>Живешь в РФ или тракторист?


РФ.

>>624391

>Можешь пояснить почему ASP.NET так "слабо развит" (как мне кажется)?


Затрудняюсь ответить. Может это просто у тебя такая местная конъюнктура? В дотнете работу можно, по-моему, всегда найти. Там же не только всё в ASP.NET упирается. Работы дохуя на самом деле.
Я вот в своё время хотел быть дохуя программистом на чистом С и до сих пор хочу, но там либо порог вхождения просто нереально высокий, либо зарплата выглядит как плевок в лицо. Вот с этим языком да, есть проблемы. Но ничего подобного с С# я не встречал уже года 3 как.

>>624401

>Могу предположить потому что ASP.NET до пятой версии (которая ещё не вышла) сильно завязан на шиндошс


Твоё предположение неверно. Всё хостится просто волшебно практически на любом дистре линукса, даже на ссаном ЦентОСе. И работает как часы. Хостеров, включая поддержку самых экзотических решений, хоть жопой жуй. А уж если у тебя как у белого человека дедик, то и проблем в принципе не будет.
#461 #626433
>>626364
А как должно? Ты скастовал ссылку на temp к типу List<short> и меняешь значения через него.
#462 #626436
>>626364
Нажми F1 на каждой строке своего говнокода. Открой для себя мир стандартных типов и их привидений.
78 Кб, 960x540
#463 #626439
>>626436

>привидений

251 Кб, 694x685
#464 #626442
#465 #626455
>>626364
List - ссылочный тип. Ясен хер, что ret и temp ссылаются на один и тот же объект.
#466 #626533
Аноны, нужно доделать лабу по-быстрому. Одна маленькая загвоздка - как в шарпе взять часть массива? Например, массив, начиная с 5-го элемента. Аналогично сишному &arr[5] и питоньему arr[5:].
#467 #626562
>>626533

>Аноны, нужно доделать лабу по-быстрому. Одна маленькая загвоздка - как в шарпе взять часть массива? Например, массив, начиная с 5-го элемента. Аналогично сишному &arr[5] и питоньему arr[5:].



Почему ты не гуглишь, мань? Первая ссылка в гугле. Спрашивай если НАШЁЛ ОТВЕТ на свой вопрос только на пакистанском языке

Array.Copy()
#468 #626593
Анончики, не интересовался темой некоторой время. Раньше было всё просто и понятно - вот .NET Framework с кучей функционала, вот с C#. Пишешь на C#, компилишь в байткод, высылаешь клиенту/пользователю. Он ставит требуемый .NET Framework и запускает твоё приложение.

Сейчас же говорят про всякие .NET Core, .NET Native и пр - почитал, но среди тонн маркетинговой воды не уловил сути.

Алсо по гуглингу .NET Core который анон выше называет живым и развивающимся, выдаёт полумёртвый репозиторий с двухмесячными коммитами
https://github.com/dotnet/core

Анон, поясни кратко и понятно, что изменится для разработчика и пользователя в среднесрочной перспективе?
Microsoft выпустит кроссплатформенный .NET Framework?
#469 #626598
>>626593

> https://github.com/dotnet/core


https://github.com/dotnet/coreclr
https://github.com/dotnet/corert
https://github.com/dotnet/corefx

> Он ставит требуемый .NET Framework и запускает твоё приложение.


Это было раньше, сейчас в 99% случаев ничего ставить не нужно, последние версии дотнета поставляются вместе с системой.

> Сейчас же говорят про всякие .NET Core, .NET Native и пр - почитал, но среди тонн маркетинговой воды не уловил сути.


По сути, для тебя абсолютно ничего не изменится, а для остальных (не винюзеров, например), откроются новые возможности. Ты будешь писать код как и раньше.
#470 #626600
>>626533
int array = new int[10];
var part = array.Skip(5).Take(5);
#471 #626602
>>626600

>int[] array = new int[10];


быстрофикс
#472 #626604
>>626602
Это достаточно медленно.
#473 #626609
Кстати, возможно в седьмой шарп завезут человеческие слайсы

https://github.com/dotnet/roslyn/issues/120
#474 #626618
>>626604
Ну он просил взять часть массива, я дал специальный сахарок, который умеет так делать.
Но это не нужно, да. Быстрее всего через for забрать нужные элементы.
#475 #626626
>>626618
Через for тоже медленно, как уже заметили, лучше Array.Copy использовать, либо ArraySegment

int[] x = new int[] {1, 2, 3, 4, 5, 6};
var seg = new ArraySegment<int>(x, 2 / оффсет /, 2 / кол. элементов /);
Console.WriteLine(String.Join(" ", seg)); // 3 4
#476 #626632
>>626626

>Через for тоже медленно


Пруфца бы. В виде сравнения IL опкодов, желательно.
#477 #626636
>>626632
И что ты на IL-уровне увидишь? Вызов функции Array.Copy, лол? Она все равно на крестах имплементирована внутри.
#478 #626641
>>626636
Так ты покажи, лол, что и как там вызывается. И с чего это вдруг медленнее for.
62 Кб, 1322x737
47 Кб, 1269x674
#479 #626645
>>626641
Полагаю, потому что системное API достаточно хорошо оптимизировано для копирования кусков памяти. Не уверен, если что, буду рад если кто поумнее меня пояснит. Вот простенький тест сделал. Первый = debug, второй = release
#480 #626646
>>626645
Вот еще неплохой ответ на всю эту тему http://stackoverflow.com/a/33865267/1250699
13 Кб, 197x200
#481 #626653
>>626645
Хороший тест, малаца. Получается, я был неправ с циклом for.
#482 #626657
>>626604

>Это достаточно медленно.



Ну если достаточно, то в чём проблема?
#483 #626658
>>626653
Там вообще достаточно много странных вещей, например

For double buffers on 32-bit machines only: The explicit loop copy routine is better than both alternatives for all buffer sizes tested up to 100k. The improvement is 3-5% better than the other methods. This is because the performance of Array.Copy() and Buffer.BlockCopy() become totally degraded upon passing the native 32-bit width. Thus I assume the same effect would apply to long buffers as well.

Я вообще в большинстве случаев использую ArraySegment, ибо он вообще ничего не копирует, а просто является wrapperом над исходным массивом.
63 Кб, 500x730
#484 #626659
Вечер в транслятор, пацаны.
Встал вопрос о дизайне структуры данных, пришел спросить советов мудрых. Суть такова:
Нужно хранить множество последовательностей, элементами которых могут быть как некоторые элементы типа T, так и предикаты типа Predicate<T>. То есть если типом T является, например, char, то последовательность может иметь вид { 'A', char.IsDigit, 'B', char.IsLower }.
С внутренним устройством все понятно, там элементарное Trie. Вопрос в том как нормально принимать такие последовательности в метод Add, так чтоб не было ебли с типами.
Рассматривал вариант с билдером у которого перегружено 2 метода для добавления очередного символа, но это выглядит довольно костыльно.
Подскажи ньюфагу, анон. С меня как всегда.
#485 #626661
>>626659
Обязательно в одной коллекции хранить или как?
#486 #626668
>>626661
Да. В хранимых последовательностях обычные элементы и предикаты над ними могут присутствовать одновременно. Иначе бы никакой проблемы и не было.
Пример с последовательностью { 'A', char.IsDigit, 'B', char.IsLower } абсолютно реален.
#487 #626672
>>626668
Почему бы как object не хранить и потом просто проверять тип?
6 Кб, 464x118
#488 #626675
>>626659
Ну ты можешь базовый враппер написать для своих значений и хранить его в коллекции, что ты правда с этими коллекциями потом делать будешь - не известно.
#489 #626677
>>626658

>Там вообще достаточно много странных вещей



Достаточно блять для чего? Ебач неграмотный...
#490 #626680
>>626677
Что не так?
#491 #626797
>>626598
1. Так, а появится ли возможность распространять своё приложение в нативном бинарнике, а не в виде байт-кодов?

2. Можно ли будет создавать реально мультиплатформенное приложение?

>последние версии дотнета поставляются вместе с системой.


3. А можно ли будет мне, как разработчику, настроить своё приложение так, чтобы у пользователя зависимости качались при установке из инета (как это на линуксах)? Или зависимости в любом случае нужно поставлять с собой?

4. И наконец: WPF скорее жив или мёртв? Стоит ли делать на него ставку и тратить несколько ~месяцев на изучение чтобы писать приложения с богатым гуём?
148 Кб, 1920x1080
69 Кб, 615x446
70 Кб, 524x347
#492 #626815
Анон, помоги мне еще с моим говнокодом. Каждый раз когда я закачиваю страницу появляется хуйня как на втором и третьем крине. Что поменять что бы оно изначально игнарировало ебучие about: которые мне потом приходится удалять из ссылок и куки загрузить не пыталось?
#493 #626819
>>626815 если кто опять копирнуть захочет
static public class HtmlParser
{
private const string UrlRegex = @"\b(?:https?://|www\.)\S+\b|href=\""(.?)\""";
private const string HrefRegex = @"(href=)
\""";
private const string aboutRefex = @"about:";

public static void Parse(string Url, ref System.Web.UI.WebControls.ListBox ListBox1, ref int counter)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Url);
if (counter < 30)
{
string HtmlPageString;
using (StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream()))
{
HtmlPageString = reader.ReadToEnd();
}
request.CachePolicy = new RequestCachePolicy();
IHTMLDocument2 htmlDocument = (IHTMLDocument2)new mshtml.HTMLDocument();
htmlDocument.write(HtmlPageString);
IHTMLElementCollection linksEllement = htmlDocument.links;
//MatchCollection links = Regex.Matches(HtmlPageString, UrlRegex, RegexOptions.Singleline);
List<LinkItem> ListLinkItem = new List<LinkItem>();
foreach (IHTMLElement item in linksEllement)
{
string urlString = Regex.Replace(item.getAttribute("href").ToString(), aboutRefex, "", RegexOptions.Singleline);
if (urlString != "" && urlString != "/" && urlString != request.Address.AbsolutePath && urlString != request.Address.AbsoluteUri)
{
if (HtmlParser.СheckUrl(urlString) == false)
{
if (urlString[0] != '/')
urlString = request.Address.Scheme + @"://" + request.Address.Host + "/" + urlString;
else
urlString = request.Address.Scheme + @"://" + request.Address.Host + urlString;
}
if (HtmlParser.СheckUrl(urlString) == true)
ListLinkItem.Add(new LinkItem() { Url = urlString });
}
}
counter++;
foreach (LinkItem item in ListLinkItem)
{
//Parse(item.Url, ref ListBox1, ref counter);
ListBox1.Items.Add(item.Url);
}
}
}

public static bool СheckUrl(string UrlString)
{
Uri uriResult;
bool result = Uri.TryCreate(UrlString, UriKind.Absolute, out uriResult)
&& (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
return result;
}
}
#493 #626819
>>626815 если кто опять копирнуть захочет
static public class HtmlParser
{
private const string UrlRegex = @"\b(?:https?://|www\.)\S+\b|href=\""(.?)\""";
private const string HrefRegex = @"(href=)
\""";
private const string aboutRefex = @"about:";

public static void Parse(string Url, ref System.Web.UI.WebControls.ListBox ListBox1, ref int counter)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(Url);
if (counter < 30)
{
string HtmlPageString;
using (StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream()))
{
HtmlPageString = reader.ReadToEnd();
}
request.CachePolicy = new RequestCachePolicy();
IHTMLDocument2 htmlDocument = (IHTMLDocument2)new mshtml.HTMLDocument();
htmlDocument.write(HtmlPageString);
IHTMLElementCollection linksEllement = htmlDocument.links;
//MatchCollection links = Regex.Matches(HtmlPageString, UrlRegex, RegexOptions.Singleline);
List<LinkItem> ListLinkItem = new List<LinkItem>();
foreach (IHTMLElement item in linksEllement)
{
string urlString = Regex.Replace(item.getAttribute("href").ToString(), aboutRefex, "", RegexOptions.Singleline);
if (urlString != "" && urlString != "/" && urlString != request.Address.AbsolutePath && urlString != request.Address.AbsoluteUri)
{
if (HtmlParser.СheckUrl(urlString) == false)
{
if (urlString[0] != '/')
urlString = request.Address.Scheme + @"://" + request.Address.Host + "/" + urlString;
else
urlString = request.Address.Scheme + @"://" + request.Address.Host + urlString;
}
if (HtmlParser.СheckUrl(urlString) == true)
ListLinkItem.Add(new LinkItem() { Url = urlString });
}
}
counter++;
foreach (LinkItem item in ListLinkItem)
{
//Parse(item.Url, ref ListBox1, ref counter);
ListBox1.Items.Add(item.Url);
}
}
}

public static bool СheckUrl(string UrlString)
{
Uri uriResult;
bool result = Uri.TryCreate(UrlString, UriKind.Absolute, out uriResult)
&& (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
return result;
}
}
#494 #626824
>>626672
Так это же костыль. Плюс тупой пользователь может напихать в эти обджекты любого говна, а не только T и Predicate<T>. Я от такого подхода и хочу избавиться как-то.
#495 #626828
>>626824
Мне интересно стало, как/для чего будут использоваться зачения и функции в одной коллекции?
161 Кб, 700x623
#496 #626832
>>626819

>public static void Parse(string Url, ref System.Web.UI.WebControls.ListBox ListBox1, ref int counter)


CALLBACKS MOTHERFUCKER DO YOU USE IT?!
#497 #626838
>>626832
Но.... для чего?
62 Кб, 604x403
#498 #626841
>>626832

>Колбэки в c#

#499 #626842
>>626828
В GLR парсере для хранения продукций. Все продукции хранятся в trie, парсер просматривает вершину текущего стека на предмет совпадения с одной из продукций и сворачивает в нужный нетерминал. Предикаты нужны для того чтобы можно было задать продукцию вида s ➜ unicode range 5 + s2 вместо того чтобы добавлять тысячи продукций для каждого символа или вставлять сканер как еще один этап перед непосредственным парсингом.
#500 #626843
>>626838
В твоем случае чтобы отделить логику от интерфейса. Возможно в конкретно этой поделке это не важно и сгодится и так, но эта жи пиздец.

>>626841
Аргументируйте, сударь.
25 Кб, 505x431
#501 #626845
>>626843

>отделить логику от интерфейса

#502 #626846
>>626845
Сдаюсь, ты подебил. laba2.csproj Class1.cs
#503 #626850
>>626846
Можешь объяснить что ты подразумеваешь под словом интерфейс?
#504 #626851
Перекатывайте понемногу свой срач: https://2ch.hk/pr/res/626848.html (М)
#505 #626855
>>626850
Я так понимаю, что он имеет ввиду UI, ты прямо в функции Parse добавляешь элементы в ListBox, вместо того, чтобы, например, передать Func<string> и вывзывать эту функции для каждого урла
#506 #626856
>>626850
Да, я наверное неясно выразился. Под интерфейсом в данном случае я имел ввиду GUI.
Всяко лучше сделать
public static void Parse(string Url, Action<YOBA> yobaFound)
чем
public static void Parse(string Url, ref System.Web.UI.WebControls.ListBox ListBox1, ref int counter)
#507 #626860
>>626855
>>626856
Мне этот листбокс нахуй потом не нужен будет, просто для визуализации поставил его, что бы в дебаге каждый раз не лазить и не смотреть там что же мои регулярки для меня вытащили.
#508 #626871
>>626843
Пишу в утонувший тред
Зачем колбэки, если можно просто вернуть значение. Колбэки имют смысл если код асинхронный, но ведь await завезли. Самое близкое к колбэкам - это события, если эти колбэки вызываются несколько раз для вызова этой функции. Но в данном случае это не будет, т.к. parse просто вернет то, что распарсил ну или null.
#509 #626873
>>626871
Вообще в его случае лучше всего yield'ить значения, и тип как IEnumerable<string> оставить, как мне кажется.
#510 #627474
>>613441 (OP)
Аноны, поделитесь книжкой (желательно djvu или pdf):
Подбельский - Язык C# решение задач.

А то продаваны совсем ебанулись. Покупать 100г макулатуры за 600р., это даже не смешно.
34 Кб, 979x295
15 Кб, 508x442
30 Кб, 679x489
#511 #628934
что ему надо то блять? при чем все работает, но сообщает что конструктор базового класса не найден, хотя он есть! или нет?

1 пик - ошибка
2 пик - наследуемый класс
3 пик - базовый класс
#512 #629170
>>627474
Ты совсем дебил тупорылый? Я за 2 секунды в гугле нашёл её.
#514 #630398
Посоны не бейте, лучше подскажите: делаю opc-клиент на основе opc .net api. Как извлечь количество айтемов и структуру их расположения?
#515 #632203
>>630398
Все, справился.
#516 #632222
прошу прощения за ебланский вопрос, но найти ответ в интернете и у Шилдта не удалось(руки из очка, глаза на нём же). Как перевести строку в char[]?
#517 #632237
>>632222
string.ToCharArray()
#518 #632238
благодарю
#519 #632537
>>632203
Обращайся.
Распутин #520 #632754
Нужен линк на вс десятого года, оч нужен. где его можно взять? если кто-нибудь кинет его, то буду премного благодарен
#521 #632894
Ананасы, поясните мне за маршалинг на шарпах. Цепляюсь я, значит, к dll-ке, собранной на c++. Импортирую функции оттуда, и периодически вызываю их в своем приложении. Так вот, иногда надо получить огромный (12e6) элементов массив byte, все, в общем-то работает. Но вот вопрос в том, каким образом все это работает. Я, насколько понимаю, маршал сначала копирует мой массив в выделенную свою помять, потом передает указатель на нее вызываемой функции, после того, как выполнение окончено, выделенная маршаловская память записывается в исходный (созданный мной) буфер. Так это получается, что кроме операций, выполняемых вызываемой функцией, процессорное время выделяется еще и на копирование тудой - сюдой, а это пиздец. Есть способы решить эту проблему, не прибегая к unsafe-контексту.
#522 #634917
господа, есть ли компилятор для с# на флешку? Т.е. portable, ибо возможности поставить нормальный вс нет, а интернет подключения там ждать не приходится
#523 #635433
>>634917
csc.exe, вместе с фреймворком идет
#524 #635712
Рад приветствовать, господа. Решил я тут написать простенький конечный автомат для кодового замка.
И передо мной встал вопрос что использовать в качестве алфавита.
Например, в Haskell я бы сделал что то типа.
data LockCode = Code Int | Abort | CheckCode
А для шарпа ничего не могу придумать, подскажите.
#525 #636101
>>635433
разве не придётся для этого vs ставить или часть её интерфейса?
#526 #636128
>>636101
нет, только фреймворк
#527 #636147
>>636128
спасибо
#528 #636573
>>613441 (OP)
перешел по первой ссылке из "Что посмотреть"
и не понял чет как сами уроки посмотреть, там отзывы, какая-то заставка и регистрация
136 Кб, 1920x1080
#529 #636652
Пишу клиент для почты, принимаю сообщения через openpop.net(http://hpop.sourceforge.net/examples.php), например с pop3.yandex.ru, запихиваю всё в List<OpenPop.Mime.Message>, но в большей части сообщений у меня вместо поля allMessages.MessagePart.MessageParts стоят значения null даже если в сообщении есть текст.

Типо код(часть):
List<OpenPop.Mime.Message> allMessages = pop3Connekt(user_name, user_password,host,port);

public List<OpenPop.Mime.Message> pop3Connekt(string user_name, string user_password, string host, int port)
{

Pop3Client pop3 = new Pop3Client();
pop3.Connect(host, port, true);
pop3.Authenticate(user_name, user_password);
count = pop3.GetMessageCount();
List<OpenPop.Mime.Message> allMessages = new List<OpenPop.Mime.Message>(count);
for (int i = count; i > 0; i--)
{
allMessages.Add(pop3.GetMessage(i));

}
pop3.Disconnect();
return allMessages;
}

List<OpenPop.Mime.Message> allMessages = pop3Connekt(user_name, user_password,host,port);
MessagePart[] Body = new MessagePart[count];
string[] Textmess = new string[count];

for (int i = 0; i < count; i++)
{
Body = allMessages.FindFirstPlainTextVersion();
if (Body != null)
{
Textmess = Body.GetBodyAsText();
}
}
136 Кб, 1920x1080
#529 #636652
Пишу клиент для почты, принимаю сообщения через openpop.net(http://hpop.sourceforge.net/examples.php), например с pop3.yandex.ru, запихиваю всё в List<OpenPop.Mime.Message>, но в большей части сообщений у меня вместо поля allMessages.MessagePart.MessageParts стоят значения null даже если в сообщении есть текст.

Типо код(часть):
List<OpenPop.Mime.Message> allMessages = pop3Connekt(user_name, user_password,host,port);

public List<OpenPop.Mime.Message> pop3Connekt(string user_name, string user_password, string host, int port)
{

Pop3Client pop3 = new Pop3Client();
pop3.Connect(host, port, true);
pop3.Authenticate(user_name, user_password);
count = pop3.GetMessageCount();
List<OpenPop.Mime.Message> allMessages = new List<OpenPop.Mime.Message>(count);
for (int i = count; i > 0; i--)
{
allMessages.Add(pop3.GetMessage(i));

}
pop3.Disconnect();
return allMessages;
}

List<OpenPop.Mime.Message> allMessages = pop3Connekt(user_name, user_password,host,port);
MessagePart[] Body = new MessagePart[count];
string[] Textmess = new string[count];

for (int i = 0; i < count; i++)
{
Body = allMessages.FindFirstPlainTextVersion();
if (Body != null)
{
Textmess = Body.GetBodyAsText();
}
}
#530 #636855
>>636652
Попробуй вот так http://stackoverflow.com/a/10602357
#531 #642524
>>613441 (OP)
Добрый день. Есть Одна Программа.
Сервер/клиент, один другому шлёт данные в виде JSON строки и хранит в объекте класса. Пытаюсь реализовать вывод полученных данных в ListView, но возникают проблемы с вызовом изменения ListView объекта из асинхронного метода прослушивания сокета, так как надо дописывать список только после получения порции новой инфы. не могли бы подсказать нюфажику, как организовать динамическое заполнение/обновление списка? Буду благодарен любым советам, примерам~
#532 #642527
>>642524
Алсо, пишу на .net 4.0 в VS 2015, гуй нарисован студиевским вин.форм дизайнером.
#533 #644765
>>642524
Возможно тебе нужно это https://msdn.microsoft.com/ru-ru/library/9k7k7cf0.aspx
Тред утонул или удален.
Это копия, сохраненная 10 февраля 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски