Это копия, сохраненная 10 февраля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
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 (М)
>Выполните команду Enable-Migrations –EnableAutomaticMigrations в консоли диспетчера пакетов
но эта команда дает ошибку
>Could not load file or assembly 'Microsoft.VisualStudio.Shell'
Можно ли как-то сделать, чтобы дебаг показывал ошибки создания базы в EF? То есть допустим я сделал код, из которого нельзя сделать базу. Я хочу чтобы EF показал мне почему именно из него нельзя сделать базу, а не просто вылетал без всяких исключений. (Оче долго думал, почему не работает, оказывается колонку с именем Position создать нельзя. Если бы он показывал эксепшоны, было бы гораздо проще.)
Крестоблядь порвалась.
>Правда ли, что C# доступен только избранным?
Нет. У меня на работе были одни идиоты и нормально писали на шарпе.
Писать на шарпе это одно, а знать шарп это совсем другое.
Ну там всякие ИоК и все такое. Еще что? Вот ты начинаешь с нуля писать веб апликуху, как ты ее строишь, что спользуешь, на что обращаешь внимания?
Может какие-то мастхев библиотеки/плагины, архитектура и все такое.
Если кто годно ответит, давайте это в шапку кидать будем, хотя бы как ссылкой на пастебин.
Хочу вкатиться на Юнити. Какая база по C# нужна, какие книги читать посоветуете? Только начинаю изучать C#, в программировании нуб, за плечами есть небольшой опыт в ActionScript и парочка небольших флеш-игр.
Поссал
PS Дотнет прогер.
>The type or namespace name 'RequestMethod' could not be found
Добавил using System.Net.Http; и все та же ошибка, не пойму, откуда брать
private HttpWebResponse _Request(String url, RequestMethod requestMethod, String content)
тут и выдает что найти не может RequestMethod
Копипастил откуда-то? Тип запроса задаётся как requestObject.Method = "GET" (или что-там тебе нужно). Попробуй поменять RequestMethod на string.
И не пойму что подключить нужно, думал что Net.Http; но не катит
Вероятно, самописный тип какой-то.
Я тут вижу варианты:
1. Поменять в параметрах RequestMethod на string и вместо первого if'а и следующей строчки написать request.Method = requestMethod. При вызове _Request, соответственно, передавать просто строку.
2. Можешь запилить свой тип, можно попробовать для начала просто enum RequestMethod { GET, POST }.
3. Поищи этот тип там, откуда остальное брал )
Вот полный код.
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); тоесть он вызывает саму себя?
Вот полный код.
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); тоесть он вызывает саму себя?
>Но никак не пойму что означает вот этот код
Если установлен хидер Location, то делаем запрос по указанному в нём адресу (завикипедь про заголовки HTTP).
>а именно this._Request(location); тоесть он вызывает саму себя?
Вообще говоря, нет. Вызывается метод с одним аргументом, а твой _Request — с тремя. Вероятно ты где-то потерял другой _Request.
Спасибо, теперь все понял, есть еще где-то перегруженный метод
Всегда пожалуйста.
Шарпоблядь полыхнула
Переделывай значит
Шарп мощнее
Начни с борды или клиента для какого нибудь апи типа вк или того же двачека.
Анон, а поясни мне за Jabber/XMPP для .NET. Какие есть годные библиотеки? agsxmpp - устаревшее говно с застывшей разработкой, у Matrix только коммерческая лицензия (и стоит она ДОХУЯ).
Ты объем спецификации там видел? Там хуячить на несколько месяцев даже если только этим заниматься.
>Что можно написать дауну, который еще не может полностью писать на шарпе, но и не совсем обезьяна?
Напиши скачивание базы эквити памм-счетов и хранение их в виде файлов, с возможностью апдейтить. Код выложишь тут для ревью. Можешь спрашивать - подскажу как сделать, покритикую код. а то мне писать лень, да и времени мало
позиции с четными индексами с сохранением их исходного порядка относительно друг друга, а оставшиеся элементы
(i > [(N + 1)/2]) разместить на позициях с нечетными индексами также с сохранением их исходного порядка. Т.е.
начальная и конечная половины массива “перемешиваются” чередованием элементов.
Умоляю.
нууу...
Создаешь еще 2 массива с четными и нечетными элементами изначального массива
Потом поочередно заполняешь новый массива длиной N элементами из созданных раннее двух массивов
Илюша и сюда со своим диваном добрался?
Ясно. Не знаешь нихуя, а пиздануть охота.
>Как в 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.
Начни с чего-то необычного. Например, брутфорсер кастомного алгоритма шифрования, могущий в многопоточность и огромные словари (> 3Gb в памяти).
>на макбуке
Еще не завезли.
>на фрилансе
We require decorated C# developer with 7+ years of experience to support and improve existing site written in angularjs and bootstrap. читать с индийским акцентом
На апворке изредка мелькает что-то. На тех что поменьше (и тем более русскоязычных) ничего кроме сайтов под ключ и копипаста нету.
Посоветуйте книгу с алгоритмами, олимпиадными задачами и разбором решений.
Оно не нужно, если не идёшь на какую нибудь бигдату (внезапно). О нём обычно спрашивают в стиле "а чо где учился? мб я тоже там/друзяшки там были".
Максимум - почитай Кормена и подготовься к собеседованию, всё что нужно.
Пойди продай свою мамашу 14-летним ёбырям-террористам из Дагестана. Как мужагЪ блядЪ. ВотЪ что труЪ.
Ты так говоришь будто это что-то плохое.
Купи professional.
Спасибо
Прально, не нужен он тебе, уёбывай.
Ёб твою мать, мелкософты уже сделали её полностью халявной и не требуют даже достоверных данных. Трудно блядь зарегестрировать аккаунт про100вася228_1337.
Чятики, прикладной софт и всевозможную веб-поебень - писать можешь, риалтайм - нет.
Хуёво, ясно, значит надо как-то совмещать.
Можешь, но писать критические части все равно на сях/крестах/растах будешь писать.
Вот, можешь даже примерчик глянуть
http://www.loekvandenouweland.com/content/using-rust-code-from-csharp
Будет ли кому интересно увидеть и задонатить?
Проектирование
Разработку
на .net стэке?
Это лямбда
%languagename% arrow operator
Да, хороший актер. А книгу какую читать?
https://telegram.me/joinchat/BE8kJwJcbncs1T4PJ_LZ5Q
>>на макбуке
>Еще не завезли.
Кстати уже завезли. В рамках Mono всё работает. Формочки и прочее десктопное говно клепается на ура. Даже ASP.NET поднять при желании можно.
>7+ years of experience
>angularjs and bootstrap
Дико проиграл нахуй.
>>616023
>У меня ВО нет
Нинужно оно в кодинге от слова совсем. Если не конченный даун, то даже в относительно сложной математике разберёшься при желании (оно вообще является определяющим фактором).
В дотнете главное хорошо знать всякое сетевое говно плюс БД (WCF, ASP.NET, EF//ORM, IOC и прочее подобное). И уметь писать относительно читаемый код (StyleCop и "Анализ кода" в помощь). Так-то работы просто до жопы, и даже при небольшом стаже она весьма неплохо оплачивается.
Ну и можно иногда клепать всякую ерунду на WPF - здесь тоже желающих хватает (правда, это обычно весьма стрёмные приложения типа ботов к играм).
Пока чистого фриланса у пхпэшников больше, но из года в год делать пхпэшные задачи на дотнете становится проще. Недавно дебажил пхп-сайт, чуть не проблевался.
>уже завезли
.net core, asp 5 и ef7 все еще rc, обещали релизнуть в 1 квартале уже этого года вот тогда и заживем!. Моно работает медленней раза в 2, студию под невинду не завезли, vs code - не ide.
27 активных участников, конфа уже старая и там успел образоваться мощный коллектив
То, что плохие новости, я понял еще когда мы начали под ним запускать проект.
>Моно работает медленней раза в 2
Пруфца бы. Алсо само по себе моно скорее всего постепенно канет в лету после релиза core. Сейчас все занимаются тем, что активно туда-сюда таскают куски кода в официальных репо на гитхабе.
>студию под невинду не завезли
Нинужно, хотя было бы неплохо.
Зачем анальная привязка к телефону, когда можно без нее?
Открыли бы канал в IRC и не парились бы. Ни регистрации, ни прочих мучений. Участвовать можно хоть с холодильника.
https://telegram.me/joinchat/CBkRKQOs0KBG8i_MGMzaKg
Лол, в этой конфе стайка пониебов и недокодеров, которые нихуя не умеют, легетимная по-прежнему первая конфа.
https://telegram.me/joinchat/BE8kJwJcbncs1T4PJ_LZ5Q
Блядь, никто не будет делать для тебя одного какой-то канал, когда уже есть сформировавшаяся конфа.
Тем более что конфы уже две, так как в одной постят жопы и нет никакого дотнета.
Тогда идите нахуй. Никто не будет ради вас заморачмваится с телефонодрочем.
слабый
Нет нормальной кроссплатформенности и вообще неудобно там файлами всякими делиться.
Да и вообще, отсидел в ирц в свое время. Тошнит уже от него. Фу.
>Нет нормальной кроссплатформенности
>IRC
Что ты несёшь, поехавший?
>неудобно там файлами всякими делиться
Ну это вообще пушка.
>неудобно там файлами всякими делиться
Какой ужас, в .net конфе нельзя будет кидать фото фараона и webm ((((
скр скр)))))))))0000(
Телеграм достаточно удобен, сам пользуюсь ИРКой и по сей день, но тут всё спорно конечно. На самом деле для дефолтных нужд телеграм даже лучше, может отпарсить картинку/видео, можно вставлять блоки кода.
>а во второй теперь нет никакого дотнета, активных юзеров, зато есть анальная мочерация и пониёбы в правительстве
Этот обманывает чтобы набрать классы, лол.
Ты сколько борд написал-то, успешный?
У тебя детектор сломался, чини.
централизованное скайпо-поделие
Как всю эту полученную инфу лучше всего хранить?
Какие типы, в какие коллекции запихивать.
Чтобы потом к этой коллекции можно было обратиться и построить TreeView, например
Или в xml с сохранением иерархии записать
Ну тогда деревце обычное построй да и все.
Деревья же. В BCL вроде нет готовой реализации, но если погуглишь — найдёшь.
Ты в курсе, что для гейдева есть отдельная доска?
В английский не могу, да, быдло.
Заранее спасибо.
Ну раз начал тут обсуждаться моногей, такой вопрос - что посоветуете для создания в нем GUI?
События на них работают, в треды запускать их же.
Нужно поставить на один комп без интернета...
Готовых инструментов вроде нет. Можно что-то из samples спиздить, наверное, но я их не особенно смотрел.
Сам написал виртуальный класс, что-то типа GUIScreen, он принимает набор текстур и их координаты, рисует их и обрабатывает нажатия на определённых координатах, возвращая при попадании на текстуру код/индекс. Дальше от него наследуюсь и не вдаюсь в подробности.
Но до адаптивного расположения ещё не добрался. Чувствую, что там пиздец будет. Эх, было бы что-нибудь готовое. Если найдешь, про меня не забудь.
Спасибо за ссылку.
Нехуй на кулькулятор ставить.
Попробуй декомпилировать либу и посмотреть. может оптимизации какие-то.
В шарпе к примеру сделали нормальные свойства.
Теперь не нужно строчить геттеры и сеттеры.
Но лучше не стало нихуя.
Делегат это ссылка на функцию?
>>618978
http://emptykeys.com/ui_library - вот нашёл что-то, подходящее в том числе для Monogame. Но разбираться глубже пока не пробовал.
Приучайся гуглить на английском, иначе будешь постоянно нарываться на поеботу от даунов с хабра.
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 опкоды.
Написать ЖТА, которая не будет тормозить
Я хочу использовать дату, допустим сегодня 6 января - значит мне нужно написать что то вроде " ХуйПизда" , а если у меня на компьютере будет 29 Августа - то я хочу написать "идиНахуй".
Собственно вопрос, как мне из DateTime брать числовое значение дня или дня и месяца?
спроси у Intellisense
Распиши про подводные камни. Я сам нюфаг, куча лет плюсов, шарп нихуя не знаю, но хочу.
Забудь про ООП которому тебя учили, ирл нет почти ничего из того что ты учил. Инкапсуляция - чудно, но дальше хуже. На самом деле в большинстве случаев нет ни классического полиморфизма, ни наследования. Вместо них ad-hoc полиморфизм и делигирование. И это только начало, в итоге всё строится на знании паттернов и фреймворков, а без этого твои знания ничего не стоят, увы.
Сам иди нахуй. Все понты Я ЧИТАЮ НА АНГЕЛЬСКОМ сводятся к тому, что сначала переводишь предложение на русский. Так зачем делать двойную работу?
На интуите Антон Баранов публиковал вводный курс про Unity.
AngleSharp можешь попробовать, мне понравился.
>можно парсить как обычный стринг с помощью класса Regex
здесь та самая ссылка на stackoverflow
>здесь та самая ссылка на stackoverflow
Раз в год её перечитываю. По-моему это просто шедевр литературного жанра.
Просто не поверю, что можно знать действительно хорошо Шарп и при этом не мочь в английский
>всё строится на знании паттернов и фреймворков
На самом деле всё строится на фреймворках, т.к. паттерны - вещь весьма условная.
>>620280
>Html Agility Pack, но он с 2014 года вроде как не развивается
А чему там развиваться? Всё есть, парсит нормально. Особенно если хорошо понимаешь суть XPath запросов.
>>620404
Так бывает. Недавно по случаю декомпилил одну прогу и просто охуел от названий объектов. Ещё больше доставила попытка авторов сделать поддержку англоязычных ресурсов приложения - я даже не представляю чем они переводили с русского, может Промптом каким-то года эдак 1998-го.
Вот есть один поток, он заносит элементы в дерево (файловая структура), уведомляет с каждой новой нодой другой тред, который этот элемент читает и записывает куда-то.
Пока есть только идея лепить каждой ноде имя, и второй тред будет искать ноду с этим именем, но это выглядит громоздко.
Посоветуйте, пожалуйста, как это решить.
Черт возьми, спасибо, анон!
Как начать понимать о тем, что ти говоришь?
Так он и будет читать из дерева, ты же только ссылку на ноду будешь передавать.
maly-yoba.jpg
Котаны, что по-вашему значит
>мочь в английский?
Достаточно читать-переводить, половину слов подсматривая в переводчике при постоянной практике незнакомых слов становится всё меньше и меньше, по себе знаю, или нужно 24/7 думать на английском?
>node.Children[0].Children[0].Attributes
Начальник!
В trim() нет ничего плохого, либо приведи код самой ноды, может ты не добрался до нужно спана и берешь textContent у прародительского дива.
У мала есть апи же, оче хочется попарсить хтмл?
>У мала есть апи же, оче хочется попарсить хтмл?
Официальный API и Atarashii api не отдают favorites из профиля пользователя. Приходится пердолить свой велосипед.
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>. Это конечно логично, однако я нихуя не знаю, как можно решить эту проблему.
Я не совсем понимаю проблему по одной строчке и, возможно, я напишу бесполезную хуйню, но для преобразования данных можно использовать LINQ метод Select. Мб тебе это как-то поможет.
izvini ples, pishu s klaviaturi bez angliiskih bukov
Юзай Regex.Replace.
привед медвед
Ну так ясен хуй, ты собираешь новый List<ImageContainer>, а хочешь видеть List<string> как итог. Что у тебя в этом newFiles должно быть? Строки? Тогда добавь к своей конструкции .Select(y => некая строка).
Есть программы которые позволяют некому персонажу "жить на твоём рабочем столе" , я не знаю как они называются, у самого такая есть, смотри изображение.
Я хочу узнать как они делаются и попробовать сделать что то похожее, но я просто не представляю как такое можно реализовать. Есть какие нибудь ссылки, идеи или что нибудь что сможет помочь мне?
Случайная сажа
Анон, смотри чему я хочу научится.
Есть программы которые позволяют некому персонажу "жить на твоём рабочем столе" , я не знаю как они называются, у самого такая есть, смотри изображение.
Я хочу узнать как они делаются и попробовать сделать что то похожее, но я просто не представляю как такое можно реализовать. Есть какие нибудь ссылки, идеи или что нибудь что сможет помочь мне?
В гугол не можешь что ле? Делается это крайне примитивно:
http://stackoverflow.com/questions/8349215/how-to-display-an-image-without-a-window-in-c-sharp
Грубо говоря, тусуется у тебя такая форма поверх всех окон или всплывает когда нужно. Сама прога при этом живёт в систем трэе, чтобы не светиться на таскбаре. Все юзер инпуты перехватываются при необходимости.
Короч элементарная хуйня.
лол, по запросу CERF гуглится СУКА.
>Загрузка Visual Studio для установки без подключения к сети
https://msdn.microsoft.com/ru-ru/library/e2h7fzkw.aspx#BKMK_Offline
Ты аутист или просто залётный дебил? .NET третий по популярности после Java и джаваскрипта, Java популярна среди молодных пока еще только из-за андроида, в сфере enterprise .net на пятки наступает джаве.
В таких странах как РБ на .NET вакансий больше, чем для любых других ЯП + экосистема (руби, аутистопердон, плюсы и др.), кроме джавы и джаваскрипта.
> jobs.tut.by
> Ruby Найдено 48 вакансий
> Python Найдено 90 вакансий
> Java Найдено 189 вакансий
> .net Найдено 123 вакансии
Ну и нахуй эта с позволения сказать "страна" РБ нужна? Если нормальный программист, лучше свалить из неё в США или Канаду поскорее.
Я бы сказал - что-то посередине. "Мочь в английский" в контексте, уместном в этом треде, - это уметь свободно, без словаря, читать технические тексты, в т. ч. MSDN. Учитывая, что эти тексты переполнены международной лексикой и большинство профессиональных терминов выглядят по-русски и по-английски одинаково, высокого уровня английского не требуется. Для чтения худлита, например, обычно требуется существенно более высокий уровень, для способности свободно без словаря поддерживать устную беседу - тоже. Хотя для программиста способность поддерживать беседу на английском может и пригодиться для общения с зарубежными заказчиками. Но это уже необязательно, а вот без способности читать учебники и техническую документацию, по-моему, не обойтись.
Он слишком элитарный, недоступный для быдла. Так же как и другой элитный язык программирования - 1С.
1с перспективнее. В 100 раз больше вакансий и больше зп. Не вижу смысла дрочить с#. Хуета а не язык
Я ни на что не намекаю, но в Польше нет 1с вакансий, а .NET есть.
Я понимаю, если бы ты написал о США или Германии, а Польша-то кому интересна?
А так - наверняка в Польше есть SAP или другой аналог 1С.
Да, про 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 говно, он мёртв уже, полон архитектурных ошибок и хуёво протещен, только долбоёбы им пользуются, вообще это высер злобного майкрософта, которые хотят всем жизнь испоганить и больше ничего, всё-таки империя зла хули, тебе точно он не нужен, просто поверь мне. А теперь съеби.
А чем Моно ненормальный?
.NET Core уже RC, но он сейчас поддерживает только ASP.NET и UWP приложения.
Какая комбинация клавиш в VS 2015 удаляет строку под курсором? Перерыл все настройки, так и не смог найти или назначить.
Но Ctrl+X вырезает в буфер обмена, а мне надо просто удалить, в буфере у меня другой фрагмент.
Юзаю шифт - стрелка вниз - дел. Курсор должен стоять в начале строки.
То же самое, что и Ctrl+X
Можно как-то прописать в одном месте для таких-то страниц должно быть открыто такое подменю, не прописывая скрипт на каждой станице.
>или нужно 24/7 думать на английском?
Нет, такого не нужно. За исключением случаев работы в иностранной компании, там умение свободно говорить может дать очень сильные бонусы. В остальном достаточно уметь читать MSDN и SO без машинного перевода - это уже 90% инфы по дотнету. Хорошо бы ещё уметь правильно составлять правильные запросы в гугле на английском, тогда инфа будет искаться ещё быстрее.
>>621477
>1с
Ничего не имею против вакансий, но сам язык до ужаса блевотный. Сами продукты тоже не доставляют ни разу.
>>621622
>Да и я сам считаю C# одним из лучших языков
Поддвачну. Дело даже не в каких-то там фичах языка, а в избыточной и удобной документации, а также офигенно удобной IDE.
Я вот временами пытаюсь писать на C/C++ под *nix, т.к. считаю, что их тоже знать нужно. Но очень часто подвисаю из-за проблем с поиском ответов на вопросы. Плюс там традиционные библиотекопроблемы. Это скачай, то скомпиль, а тут версию другую надо - короче, очень много мороки.
>Это скачай, то скомпиль, а тут версию другую надо
У нас это может тоже скоро появится с неполным .net core то.
openGl не предлагать.
А что делает скрипт? Короче, подразумевая, что ты рендеришь разметку через Razor на сервере, берёшь своё боковое меню и выносишь его в отдельный компонент (в MVC 5 для этого создаёшь экшен с атрибутом [ChildActionOnly] для логики + добавляешь паршиал для представления, в MVC 6 есть ViewComponent). Внутри экшена динамически генерируешь вьюмодель со списком всех пунктов меню, у вьюмодели пункта меню будет текст меню и булево свойство IsActive, которое и будет отвечать за то, выбран ли данный пункт меню или нет. Можешь определять заселекщен ли определённый пункт меню следующим образом: парсишь URL запроса и по выдранному из него сегменту ставишь IsActive в true нужному пункту меню. Внутри паршиала пункту меню у которого IsActive == true добавляешь какой-то CSS-класс типа .active, чтобы на UI-е он отображался как активный и всё.
Лел, иди мемасов почитай лучше.
Не ну а что. Чувак же просил с угаром.
Стиллмен.
Книги по программированию ни-ну-жны. Точка.
Ну может совсем классиков типа K&R или Страуструпа почитать можно.
Да всё в сети есть, очевидно же. Ответ на любой вопрос, причём часто со множеством альтернатив.
Пока копчу жабу по Эккелю, сам нуфаг.
Мёртв в плане работы? Ходят слухи что жабу пидорнут в угоду ГО и жаба срочно поедет вниз, а пилить тырпрайз офисный я не хочу (и так ASP.NET популярнее в разы Спринга).
Но ведь нет альтернативы столь мощной как C# в .NET, о каких конвульсиях речь?
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.
Лень было всю твою конструкцию в точности воспроизводить, но идея думаю понятна:
var newFiles = oldFiles.Where(x => x.SourceUrl != "someValue").Select(y => !string.IsNullOrWhiteSpace(y.SourceUrl) ? y.SourceUrl : y.NormalUrl).ToList();
Алсо отучайся городить такие запросы, лучше разбей на несколько меньших. Иначе через неделю уже забудешь что этот запрос делает.
>И подскажите, что почитать, чтобы разобраться в этих лямбдах и linq
Только практика. Придумывай изъёбистые запросы, пытайся сделать. Иначе никак. Чтение поможет лишь частично.
Что такое .NET, ASP, ASP.NET? //в вики слишком абстрактно написано ".NET это общая платформа, включающая ASP.NET, а ASP это мощный инструмент для WWW"
Для чего нужны?
Чем они отличаются?
Что из этого учить, если я хочу в веб программирование? Нужно ли начинать с общих азов C# и чем эти азы ограничиваются? Или можно сразу перейти к ASP.NET, и походу дела будут описаны азы самого C#? Какую литературу и в каком порядке посоветуете, в данной области?
Вводные данные: 28 лет, холост. 10 лет назад быдлокодил на ActionScript 1.0 библиотеки для GUI по справочнику СИ (поехавший). Потом перешел на тяжелые наркотики и занялся веб-дизайном. Могу в HTML, CSS, немного SQL. Сейчас одумался, поступил в универ, учу матан и паскаль.
.NET - общее название платформы. Это и семейство языков, и различные либы, и технологии.
ASP.NET - технология .NET, которая позволяет нам мочь в www. Это целый комплекс всего того, что может понадобиться в данном процессе: веб, БД, ОРМ и прочая сетевая байда.
>Что из этого учить, если я хочу в веб программирование?
APS.NET, MVC, WCF. Начинай вкатываться в .NET Core, это скоро будет мейнстримом.
>Или можно сразу перейти к ASP.NET, и походу дела будут описаны азы самого C#?
Можно. Но будет тяжеловато. Придётся подолгу ковырять хэлп, если совсем ничего не знаешь. Но в сети полно туториалов, при желании разберёшься.
>Вводные данные: 28 лет, холост. 10 лет назад быдлокодил
Ты это я, лол лет шесть назад. Всё получится, C# очень ненапряжный в этом плане.
Проиграл, а ведь всё верно.
Для запросов, которые могут быть выражены и в query, и в method syntax, субъективно, больше нравится method. Но иногда он в принципе единственный вариант.
говна себе за щеку кинь пес
>APS.NET, MVC, WCF. Начинай вкатываться в .NET Core, это скоро будет мейнстримом.
Анон может в годные советы. Только вот перед этим списком я бы ознакомился с основными конструкциями языка(всякие там циклы, ветвления, лямбды и тд).
Если у тебя какие то права доступа на записи, то тебе в любом случае надо всегда их проверять.
Можешь привести типовой пример задачи, которая решается с помощью wcf web service? Что эта штука может сделать чего не может web api какой-нибудь? Или она исключительно для интероперабельности с другими .net приложениями используется?
>Получается нужно каждый раз делать проверки достаточно ли прав у пользователя делать изменения
Да.
Shift del. Но это не точно
В хуй свистни.
я тут давно сам пиздуй
>Дуплекс сервис ты на нем уже не напишешь.
Зачем это вебу нужно когда можно вебсокетами реализовать дуплексный обмен данными? Это типа чтобы я мог с какого-нибудь десктоп-приложения типа WPF подрубиться к какой-то части веб-сервера по TCP, например?
Web Sockets - это протокол, а Wcf - фреймворк, на котором пишутся в том числе и web sockets сервисы. И да, полно случаев, когда дуплексный сервис должен использовать определенный протокол.
По неизвестной причине не работает запрос написанный с помощью linq в программе, не выдает никаких результатов
Продебажил, увидел какой запрос генерит EF скопипастил в менеджмент студию ВСЕ РАБОТАЕТ НОРМАЛЬНО, но из программы отказывается работать.
Это же запрос Select, при чем здесь savechanges
И когда я убираю условие сравнения с датой, выдает все данные. Наверное с датой проблемы, но почему тогда в студии все ок, я подставил те же данные что и ef подставляет, в дебагере они тоже есть.
Может ты код уже кинешь, долбоёб? Или мы гадать должны? На что ты вообще рассчитываешь с вопросом типа "у меня ничего не работает. Что делать?".
Люто двачую.
Сам факт что человек, даже спросить не может нормально, говорит о том что у него и код будет работать так же.
Кто со мной будет изучать C# (читается как си шарп) ?
Я уже изучил немного этот язык программирования и даже написал однопоточную DDos систему.( которая нихрена не дудосила, т.к. 1 поток )
Для чего, как и зачем я объясню в ЛС, но скажу одно, что мне нужно в команду 2-3 человека(с учетом меня). Хакерский клан и все такое.
Возраст не важен.
P.S. Пишу с телефона, поэтому не очень удобно, приеду домой напишу подробнее в комменты.
Бля, иди сри в другом треде, долбоёб.
>Возраст не важен.
Понятно, что не важен, тебе же 11 лет. Не засирай тему однопоточный дудосер.
Я в 12 лет писал проги круче чем 90% программача. Инфа 100%.
Я не животное, я млекопитающие.
Необходимо сравнить два вектора одинаковой длины, выводить сообщение в том случае, если каждый элемент одного вектора был больше или равен соответсвующего элемента другого вектора и хотя бы один был строго больше.
[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]
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);
ругается компилятор
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);
ругается компилятор
>как грамотно спарсить и сделать лист структуры?
Использовать готовую либу.
Иначе можно так:
https://dotnetfiddle.net/9gTE9H
сделай себе жизнь
>я уже затрахался, так наговнокодил что аж студия зависла.
мдя, походу весело у вас тут
короч посоны, я после плюсов нихуя не понимаю передачу по ссылке и по значению.
переименования b2 происходить не должно?
так? чо за хуйня?
Инстанс класса - это reference type, угадай как он передается.
То что у тебя там ref Bitard написано - это значит что ты можешь в методе сделать b = new Bitard() и вот тогда у тебя downgrade1 поменяет саму ссылку прямо в b1. Ты конечно можешь и в downgrade2 так написать, и в пределах метода у тебя будет новый объект, но как только метод закончится - это новый объект пойдет нахуй, а b2 останется ссылкой на тот же кусок памяти как будто в шарпе всем не похуй на куски памяти. А насчет полей объекта - они меняются всегда, у тебя же ссылка на объект передалась. Почитай про value types и reference type в рихтере например.
помоему понял
понял.
по умолчанию передается указатель на объект.
ref передает указатель на указатель на объект.
>но как только метод закончится - это новый объект пойдет нахуй
после плюсов дико звучит.
надеюсь имеется ввиду что умный сборщик мусора все позже разрулит.
Таки да, ссылок на объект нет - значит нинужен, а этим занимается gc.
добра!
Пытался делать селект к старой базе, получать DataTable, и проходиться в цикле по ее строкам, делая инсерты в новую базу.
Но на больших таблицах (500 мегабайт и больше) я ловлю OutOfMemoryException.
Использовать LIMIT не вариант, в анальном FOXPRO его попросту нет.
Щито делать?
<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" >
Так зачем мне ему задавать Width если он должен сам задаваться. Первый грид получает ширину в зависимости от контента. И имеет ограничитель в MaxWidth = 500;
Да, по сути у него ширина не определена, но она же есть. При запуске я вижу грид, который определил свою ширину от ширины контента, и ограничил её по проперти maxwidth. Но почему я блядь не могу её получить? У него же есть ширина, он же блядь не бог, которого не существует, алё!
ItemsSource="{Binding}"
ItemTemplate="{StaticResource ImageTextListTemplate }"
Соответственно в ресурсах страницы определён DataTamplate.
Так вот, Сам листвью лежит в гриде, и всё пашет. Но когда я определяю в гриде колонку, и указываю в листвью Grid.Column ="0" то при запуске листвью куда то съёбывает, или контент его, я не ебу. Подскажите где я обосрался?
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
Если че, то в визуальном редакторе, этот пидарас лежит. Я так понимаю, его контент съёбывается, а точнее сам DataTemplate, но почему?
Вообще перестают отображаться записи. На всяких оверфлоу впадлу создавать нить.
У тебя не записи перестают отображаться, а сам контрол.
Ты на его марджин посмотри, он у тебя за экран вылазит.
Да, спасибо, уже нашёл свой Obosreaque. Дико извиняюсь аноны.
Это называется "организация структуры папок по функциональности", а не по типу компонентов. Можешь воспользоваться "Areas" механизмом (http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx/) – это тебя устроит?
Да и ещё у тебя контроллеры в принципе должны зависеть только от вьюмоделей и моделей (здесь модель – это класс ОРМ), а все классы ОРМ должны быть вынесены в другую сборку, то есть по сути у тебя контроллеры должны зависеть только от своих же вьюмоделей, а вьюмодели переиспользовать не получается в 99% случаев, не знаю зачем я это написал.
Можешь пояснить почему ASP.NET так "слабо развит" (как мне кажется)? Почему даже у нас в мухосрани 300к людей можно устроиться рубино-рельсовой макакой, а про ASP.NET даже и не знают.
Чем эти опенсорнсые рельсовые поделки с кучей багов, с отсутствующей обратной поддержкой верстй, написанные на ИНТУИТИВНО ПОНЯТНОМ ЯЗЫКЕ с кол-вом необязательных элементов синтаксиса большим чем обязательных, лучше дотнетовской фичи?
Если честно у меня никогда такого адского бугурта от кол-ва багов, ошибок, костылей не было, как от изучения Rails.
Могу предположить потому что ASP.NET до пятой версии (которая ещё не вышла) сильно завязан на шиндошс: нельзя захостить сайт за 2 рубля где угодно. Хороший хостинг с масштабированием это ажура, а там нужно много денег платить. К тому что базу данных ты скорее всего будешь использовать MSSQL Server, а она вроде тоже не бесплатная.
ШОК СЕНСАЦИЯ!!
В VS2015 вшит майнер?
VS2015 community сегодня ВНЕЗАПНО стал жрать ресурсы во время простоя. Процесс devenv.exe *32 из рабочей папки грузит проц на 5-20%, постоянно горит красная лампочка на системнике и шумит HDD, что бесит и отвлекает. При удалении файла VS2015 ругается на его отсутствие и не запускается.
Сегодня ровно месяц, как я установил комьюнити версию и зарегал на фейкомыльце. Совпадение? Мелкомягкие пидарасы специально это сделали?
>стал жрать ресурсы во время простоя
Постоянно и во время простоя в том числе. Компиляция стала раза в 4 дольше.
быстрофикс
Да, ну она бесплатная зато. Ну скоро можно будет выключить майнер и вместо него просто смотреть рекламу.
>Только в этом треде элитные разработчики ответят на самые острые вопросы индустрии.
Уважаемые элитные разработчики, как ограничить максимальный размер элемента массива int[] arr, чтобы он был не больше X?
if (arr[index] > X) throw new YobaException();
Хуяришь короч свою реализацию массива и в сетере пишешь что тебе угодна)
>EF7
Зачем в EF кроссплатформа если это говно все равно хуй с чем работает кроме M$ $QL $erver?
Посоны, не забываем репортить конфораков и понидебилов.
http://basicdata.ru/api/json/calend/
и забить массив DateTime ПОЖАЛУЙСТА
завал по коду пиздец, 1го дедлайн кроме этого еще говнокодить нужно тысячу строк. я хотел воспользоваться json2csharp но почему то говорит неправильный формат
Может кто помочь ?
http://blog.jetbrains.com/dotnet/2016/01/13/project-rider-a-csharp-ide/
Console.WriteLine("название случайной страны");
Студия без решарпера совсем печальной кажется, а с последней студией решарпер уж слишком тормозить начал, вплоть до неюзабельности. Для консольных проектов, либ и веба будет самое то, а для всего остального будет студия.
Хуй знает, что там у тебя тормозит, но у меня нихуя не тормозит, даже намёка на тормоза нету, что дома, что на работе студия + решарпер. Купят говноноут за 300$ и потом кукарекают, что что-то тормозит.
Обоссал мамкиного богача.
Суть сервиса:
При запуске сервиса загружаем файлы с диска, получаем таким образом некие данные. При запросе к сервису отдаём запрашиваемую часть этих данных.
В случае если бы данные вытаскивались при каждом запросе из бд понятно, а вот вариант с хранением в "оперативке" не могу понять.
Был годный ILNumerics, но озалупился в онли-платный режим
Тракторист, живу в РФ.
почему for не видит переменную n, тогда как while с этим справляется
http://pastebin.com/ZeFkcNki
На примере 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 ?
пришёл домой, проверил ещё раз метод... всё в порядке.
на другой машине, где писал код, через for мне всегда возвращался 0.
очень странно, конечно.
полного кода под рукой нету, поэтому тщательнее протестировать сегодня не смогу
Когда проект в VS создаешь, там уже много чего написано по этому поводу, но я не понимаю что к чему.
Код, который для тебя сгенерировал компилятор конечно же всем этим занимается.
Что ты, блядь, не можешь понять, как синглтон в оперативке хранить? Создаешь и хранишь, просто, правда?
Ну ты понял
Накидайте гадйов о том как страницы парсить, а то меня чет гугл забанил и не находит ничего толком.
У тут проблема - кодировка наебывается и все русские буквы в кракозябры превращаются. Если вместо WebClient использовать HttpWebRequest, проблема не решится?
Вот, а если бы ты погугли, то знал бы, что у WebClient есть свойство Encoding, и что html регулярками не парсят.
Нельзя использовать сторонние библиотеки, так что Html Agility Pack не заюзать.
Да мне там всего две строчки вырвать и все, на остальной текст можно смело забить хуй. Проблема в том что не у каждой ссылки есть тайтл, и вместо тайтла там просто текст между тэгами. Думаю как с этим справится.
посасать у препода
>Код, который для тебя сгенерировал компилятор конечно же всем этим занимается.
Вопрос о контексте в котором этот код выполняется.
>IHtmlDocument2
>2
>COM интерфейс
В c# нет ничего хорошего для html из коробки, так что эскобар.жпг.
Ну ето я пони.
Вот тут навелоспижены парсеры какие-то, может что понравится.
http://www.codeproject.com/Articles/57176/Parsing-HTML-Tags-in-C
http://www.developer.com/net/csharp/article.php/2230091/Parsing-HTML-in-Microsoft-C.htm
http://www.developer.com/net/csharp/article.php/10918_2230091_2/Parsing-HTML-in-Microsoft-C.htm
Парсить все вида что начинается с http? нет?
Можешь расписать мне, мудаку, порядок действий по шагам? Неважно каким путем генерировать конфиг, через студию или через wsdl.exe, лишь бы работало.
Вообще, заметил странную вещь. В документации к сервису указан endpoint http://rmis-test.i-novus.ru/patients-ws/patient . Однако, когда через студию добавляю ServiceReference, в конфиге обнаруживаю https://develop.r-mis.ru/patients-ws/patient (а сам сервис при попытке открытия в браузере редиректит на https версию).
>другой адрес
Ну они сгенерированную wsdl у себя не поменяли, это сути то не меняет, просто в своем клиенте указываешь нужный адрес. Ты в студии как добавляешь? Я обычно Add Service Reference -> Advanced -> Add Web Reference. На твоем сервисе пароли, так что нельзя просто взять и попробовать.
Да как только не пробовал. Все, что мне нужно, это вменяемый рабочий пример доступа к методам любого сервиса с авторизацией по логину и паролю, дальше я сам. Сам я больше по крестам, поэтому выбрал шарп в надежде быстро набросать клиент. Раньше не приходилось сталкиваться с подобным, и уже просто крыша едет.
Ну хорошо, добавь web reference, создай этот сгенереный клиент/прокси, Url ему укажи правильный и Credentials - создай NetworkCredential. Ошибки?
Не удается неявно преобразовать тип "System.Collections.Generic.List<string[]>" в "System.Collections.Generic.List<System.DateTime>".
Как преобразовать в LINQ запросе массив в лист?
хотел годных советов от гуру, в итоге наткнулся на петуха с принципом ЗНАЮ НО НИСКАЖУ И АБАСРУ. ты же типичный выблядок, просто уйди если не можешь помочь.
neRabochiiDni.AddRange(File.ReadAllText("calendar.csv").Split(splitChars).Select(x => DateTime.Parse(x)));
сделал так, ДОПЕТРИЛ, но все равно хуйцы. Ссылка на объект не указывает на экземпляр объекта
Ты, бля, можешь описать задачу? Что у тебя за файл там?
Пиздец ты мудень) видел же ошибку, тебе что, сложно было сказать что я делаю не так?) нахуя ты вообще сюда заходишь?
Спасибо, пидорасы, разобрался сам
тред скатился, раньше няши помогали несмотря на мой аутизм, сейчас одни хуесосы непонятно зачем тешатся над теми, которые немного не догоняют и не видят ошибок
neRabochiiDni = (File.ReadAllText("calendar.csv").Split(splitChars).Select(x => DateTime.Parse(x)).ToList());
не благодари, хотя ты и сам разобрался
Спасибо, дорогой, забыл отписать что разобрался и так. Паттерны только начинаю копать.
Да тут какой-то даун появился, тешит свое никчемное чсв
Ньюфаг тред забит полностью обиженными экспертами, там только нахуй могут послать, к сожалению.
где он?
Это двач, тут везде могут нахуй послать.
>игнорировать перекрестные ссылки и исключать повторяющиеся адреса
Кто нибудь может дать внятное описание перекрестной ссылки и как они вообще выглядят?
Так это наверное ссылки на ту же самую страницу, типа на anchor, если там оглавление например.
Я тоже сперва так подумал, но потом погуглил и понял что мне втирают какую то дичь.
http://www.simfosoft.ru/services/95/402/406
Попробуй выключить AllowAutoRedirect или указать UserAgent нормального браузера в хедерах.
AllowAutoRedirect выключил - не помогло.
В ручную что ли конкретный браузер прописать? А проблем от этого не будет?
Чтобы по быстрому в тот же linqpad забросить, быстро понять в чем проблема, и помочь.
Ну лови
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;
}
}
Ну лови
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;
}
}
Да вроде рабочий, ссылки находит.
Да. Не будет.
>кем сейчас работаешь?
Программистом, лол. Есть основная работа, чтобы не расслабляться и рано вставать я - ленивая скотина, да, есть вагон других халтур.
>У тебя сейчас есть машина/квартира/жена?
Жена, двое детей. Остальные материальные блага в наличии хотя я не считаю их сильно важными, ибо, как выяснилось, жизнь полна сюрпризов
>Живешь в РФ или тракторист?
РФ.
>>624391
>Можешь пояснить почему ASP.NET так "слабо развит" (как мне кажется)?
Затрудняюсь ответить. Может это просто у тебя такая местная конъюнктура? В дотнете работу можно, по-моему, всегда найти. Там же не только всё в ASP.NET упирается. Работы дохуя на самом деле.
Я вот в своё время хотел быть дохуя программистом на чистом С и до сих пор хочу, но там либо порог вхождения просто нереально высокий, либо зарплата выглядит как плевок в лицо. Вот с этим языком да, есть проблемы. Но ничего подобного с С# я не встречал уже года 3 как.
>>624401
>Могу предположить потому что ASP.NET до пятой версии (которая ещё не вышла) сильно завязан на шиндошс
Твоё предположение неверно. Всё хостится просто волшебно практически на любом дистре линукса, даже на ссаном ЦентОСе. И работает как часы. Хостеров, включая поддержку самых экзотических решений, хоть жопой жуй. А уж если у тебя как у белого человека дедик, то и проблем в принципе не будет.
А как должно? Ты скастовал ссылку на temp к типу List<short> и меняешь значения через него.
Нажми F1 на каждой строке своего говнокода. Открой для себя мир стандартных типов и их привидений.
List - ссылочный тип. Ясен хер, что ret и temp ссылаются на один и тот же объект.
>Аноны, нужно доделать лабу по-быстрому. Одна маленькая загвоздка - как в шарпе взять часть массива? Например, массив, начиная с 5-го элемента. Аналогично сишному &arr[5] и питоньему arr[5:].
Почему ты не гуглишь, мань? Первая ссылка в гугле. Спрашивай если НАШЁЛ ОТВЕТ на свой вопрос только на пакистанском языке
Array.Copy()
Сейчас же говорят про всякие .NET Core, .NET Native и пр - почитал, но среди тонн маркетинговой воды не уловил сути.
Алсо по гуглингу .NET Core который анон выше называет живым и развивающимся, выдаёт полумёртвый репозиторий с двухмесячными коммитами
https://github.com/dotnet/core
Анон, поясни кратко и понятно, что изменится для разработчика и пользователя в среднесрочной перспективе?
Microsoft выпустит кроссплатформенный .NET Framework?
https://github.com/dotnet/coreclr
https://github.com/dotnet/corert
https://github.com/dotnet/corefx
> Он ставит требуемый .NET Framework и запускает твоё приложение.
Это было раньше, сейчас в 99% случаев ничего ставить не нужно, последние версии дотнета поставляются вместе с системой.
> Сейчас же говорят про всякие .NET Core, .NET Native и пр - почитал, но среди тонн маркетинговой воды не уловил сути.
По сути, для тебя абсолютно ничего не изменится, а для остальных (не винюзеров, например), откроются новые возможности. Ты будешь писать код как и раньше.
https://github.com/dotnet/roslyn/issues/120
Ну он просил взять часть массива, я дал специальный сахарок, который умеет так делать.
Но это не нужно, да. Быстрее всего через for забрать нужные элементы.
Через 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
И что ты на IL-уровне увидишь? Вызов функции Array.Copy, лол? Она все равно на крестах имплементирована внутри.
Так ты покажи, лол, что и как там вызывается. И с чего это вдруг медленнее for.
Полагаю, потому что системное API достаточно хорошо оптимизировано для копирования кусков памяти. Не уверен, если что, буду рад если кто поумнее меня пояснит. Вот простенький тест сделал. Первый = debug, второй = release
Там вообще достаточно много странных вещей, например
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ом над исходным массивом.
Встал вопрос о дизайне структуры данных, пришел спросить советов мудрых. Суть такова:
Нужно хранить множество последовательностей, элементами которых могут быть как некоторые элементы типа T, так и предикаты типа Predicate<T>. То есть если типом T является, например, char, то последовательность может иметь вид { 'A', char.IsDigit, 'B', char.IsLower }.
С внутренним устройством все понятно, там элементарное Trie. Вопрос в том как нормально принимать такие последовательности в метод Add, так чтоб не было ебли с типами.
Рассматривал вариант с билдером у которого перегружено 2 метода для добавления очередного символа, но это выглядит довольно костыльно.
Подскажи ньюфагу, анон. С меня как всегда.
Да. В хранимых последовательностях обычные элементы и предикаты над ними могут присутствовать одновременно. Иначе бы никакой проблемы и не было.
Пример с последовательностью { 'A', char.IsDigit, 'B', char.IsLower } абсолютно реален.
Ну ты можешь базовый враппер написать для своих значений и хранить его в коллекции, что ты правда с этими коллекциями потом делать будешь - не известно.
Что не так?
1. Так, а появится ли возможность распространять своё приложение в нативном бинарнике, а не в виде байт-кодов?
2. Можно ли будет создавать реально мультиплатформенное приложение?
>последние версии дотнета поставляются вместе с системой.
3. А можно ли будет мне, как разработчику, настроить своё приложение так, чтобы у пользователя зависимости качались при установке из инета (как это на линуксах)? Или зависимости в любом случае нужно поставлять с собой?
4. И наконец: WPF скорее жив или мёртв? Стоит ли делать на него ставку и тратить несколько ~месяцев на изучение чтобы писать приложения с богатым гуём?
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;
}
}
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;
}
}
Так это же костыль. Плюс тупой пользователь может напихать в эти обджекты любого говна, а не только T и Predicate<T>. Я от такого подхода и хочу избавиться как-то.
Мне интересно стало, как/для чего будут использоваться зачения и функции в одной коллекции?
>public static void Parse(string Url, ref System.Web.UI.WebControls.ListBox ListBox1, ref int counter)
CALLBACKS MOTHERFUCKER DO YOU USE IT?!
В GLR парсере для хранения продукций. Все продукции хранятся в trie, парсер просматривает вершину текущего стека на предмет совпадения с одной из продукций и сворачивает в нужный нетерминал. Предикаты нужны для того чтобы можно было задать продукцию вида s ➜ unicode range 5 + s2 вместо того чтобы добавлять тысячи продукций для каждого символа или вставлять сканер как еще один этап перед непосредственным парсингом.
Я так понимаю, что он имеет ввиду UI, ты прямо в функции Parse добавляешь элементы в ListBox, вместо того, чтобы, например, передать Func<string> и вывзывать эту функции для каждого урла
Да, я наверное неясно выразился. Под интерфейсом в данном случае я имел ввиду 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)
Пишу в утонувший тред
Зачем колбэки, если можно просто вернуть значение. Колбэки имют смысл если код асинхронный, но ведь await завезли. Самое близкое к колбэкам - это события, если эти колбэки вызываются несколько раз для вызова этой функции. Но в данном случае это не будет, т.к. parse просто вернет то, что распарсил ну или null.
Вообще в его случае лучше всего yield'ить значения, и тип как IEnumerable<string> оставить, как мне кажется.
Аноны, поделитесь книжкой (желательно djvu или pdf):
Подбельский - Язык C# решение задач.
А то продаваны совсем ебанулись. Покупать 100г макулатуры за 600р., это даже не смешно.
1 пик - ошибка
2 пик - наследуемый класс
3 пик - базовый класс
string.ToCharArray()
Обращайся.
И передо мной встал вопрос что использовать в качестве алфавита.
Например, в Haskell я бы сделал что то типа.
data LockCode = Code Int | Abort | CheckCode
А для шарпа ничего не могу придумать, подскажите.
спасибо
перешел по первой ссылке из "Что посмотреть"
и не понял чет как сами уроки посмотреть, там отзывы, какая-то заставка и регистрация
Типо код(часть):
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();
}
}
Типо код(часть):
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();
}
}
Добрый день. Есть Одна Программа.
Сервер/клиент, один другому шлёт данные в виде JSON строки и хранит в объекте класса. Пытаюсь реализовать вывод полученных данных в ListView, но возникают проблемы с вызовом изменения ListView объекта из асинхронного метода прослушивания сокета, так как надо дописывать список только после получения порции новой инфы. не могли бы подсказать нюфажику, как организовать динамическое заполнение/обновление списка? Буду благодарен любым советам, примерам~
Алсо, пишу на .net 4.0 в VS 2015, гуй нарисован студиевским вин.форм дизайнером.
Это копия, сохраненная 10 февраля 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.