Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/32: Рейтинг темы: голосов - 32, средняя оценка - 4.63
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140

Наставничество в изучении С#

20.08.2015, 12:38. Показов 7839. Ответов 95
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Изучаю С# более полугода считаю что знаю на недальнем уровне, хочется развиваться , язык очень нравиться. Из-за того что не очень много практикую многое забывается, а для практики не могу найти интересных задач. Да и во многом проблема в том что когда сам ставлю себе задачу то нет интереса в её решении, но когда кто то другой ставит, есть стремление в решении поставленной задачи. Хотелось что бы кто-то давал задания я делал и присылал решение, для проверки опытным программистом, критиковал ошибки или "быдло код". было бы хорошо получать задание по возрастающей сложности. Кому не сложно и кого это сильно не отвлечет от своих проблем, занятий и жизни просьба помочь.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.08.2015, 12:38
Ответы с готовыми решениями:

Наставничество\каталогизатор
Добрый день, форумчане! Изучаю язык c#, читаю "Герберт Шилдт - Полный справочник по С#", немного шарюсь в библиотеке майкрософта....

Трудности и лень в изучении C#
Уже как полгода назад я приобрел две книги по C#, Шилтда и Эндрю Стиллмена "Изучаем C#". Не знаю зачем две сразу купил, но книга Эндрю...

Нужен напарник в изучении языка
Здравствуйте, изучаю с#.net есть желание работать по данному направлению, хотелось бы изучать с кем-то вместе,ликбо же это будет более...

95
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.08.2015, 16:57
Студворк — интернет-сервис помощи студентам
insite2012, Woldemar89, методы и функции это в шарпе эквивалентные понятия

С тем хе успехом можно спорить, есть ли в шарпе типы или только классы.
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
27.08.2015, 19:34  [ТС]
Woldemar89, А можешь ещё подкинуть задачку? если не затруднит.
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
28.08.2015, 17:51
Пока почитай тему и прониксись, если будет время завтра - подкину)
Список для максимально быстрого поиска по нему

Добавлено через 21 час 31 минуту
Цитата Сообщение от valun Посмотреть сообщение
А можешь ещё подкинуть задачку? если не затруднит.
Выгрузи аватарку в ВК по адресу профиля в pictureBox.
Для извлечения ссылки на фото используй HTML Agility Pack или регулярные выражения, а лучше - 2мя способами.
Выгрузку изображения сделай в отдельном потоке, либо асинхронно, что в принципе одно и тоже,
С изображением работай только в памяти.
Вставлять чужие куски кода - не возбраняется - главное, чтоб работало и ты понимал, что происходит.
Материалы:
Html Agility Pack: распарсить страницу
Вывод изображения из WebClient
Регулярные выражения FAQ
1
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
29.08.2015, 08:14  [ТС]
Woldemar89, Спасибо за задачку, буду разбираться.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
29.08.2015, 11:20
Цитата Сообщение от valun Посмотреть сообщение
можешь ещё подкинуть задачку?
Если интересует, вот еще задачка)))
Создать виджет типа как в Win7, те что на рабочем столе выводятся, который будет отображать, ну, скажем, количество новых тем на форуме cyberforum.ru, появившихся за последний час (два, три, можно менять). Темы должны быть сгруппированы по разделам.
Условия выполнения:
1. Виджет выполнен в виде клиента, только отображает данные.
2. Вся логика работы вынесена в код службы (размещение - хостинг, если надо, могу предоставить)
3. Виджет периодически делает запрос к службе, та уже парсит нужные данные и передает виджету, тот их выводит.
Такая задачка устроит?)))
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
29.08.2015, 12:17
Цитата Сообщение от valun Посмотреть сообщение
Спасибо за задачку, буду разбираться.
Мой ответ в это теме тебе может помочь.
Получение методом GET содержимое страницы
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
31.08.2015, 21:29  [ТС]
insite2012, Думаю мне пока ещё рано таким заниматься(((
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
03.09.2015, 20:41  [ТС]
Woldemar89,
не могу до конца понять это

C#
1
2
3
4
5
6
7
8
9
10
if (out_Control.InvokeRequired)                                                  
            {
                AddTextDelegate theDelegate = new AddTextDelegate(AddText);                  
                out_Control.Invoke(theDelegate, new object[] { out_Control, text });         
 
            }
            else
            {
                out_Control.Text += text;                                                     
            }
а именно

C#
1
 out_Control.Invoke(theDelegate, new object[] { out_Control, text });
зачем нужен

C#
1
 new object[] { out_Control, text }
это создается копия textbox?
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
04.09.2015, 12:49
Цитата Сообщение от valun Посмотреть сообщение
это создается копия textbox?
if (out_Control.InvokeRequired) - если функция вызвана не в потоке создавшем out_Control (текстбокс).

out_Control.Invoke - вызывает функцию из потока в котором был создан out_Control (текстбокс).

theDelegate - копия функции,
new object[] { out_Control, text } - копия параметров, передающихся функции.

И приучись уже обрамлять код правильно)
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
09.09.2015, 12:07  [ТС]
Woldemar89,
Столкнулся с такой проблемой: есть такая инструкция
C#
1
var bodyNode = doc.DocumentNode.SelectNodes("//div[@id='page_avatar']");
Но почему то не находит этот div, я так понимаю из-за того что он вложен в другие div, как тогда вытянуть этот div?
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
09.09.2015, 12:47
Цитата Сообщение от valun Посмотреть сообщение
Но почему то не находит этот div
Может потому что там его нет?
C#
1
2
            string htmlcode = Get_Html(@"http://vk.com/id......");
            richTextBox1.Text = htmlcode;
Некоторые компоненты на странице формируются скриптами, и обычным запросом их не вытащить.
Проанализируй, то что получил руками\глазами и ищи ссылки там.

Добавлено через 14 минут
Можно так пробовать, и не забудь, что страница должна быть доступна без авторизации.
C#
1
2
3
4
5
            string htmlcode = Get_Html(@"http://vk.com/id.....");
 
            string imagehref = new Regex(@"background-image:url\((\S+.jpg)").Match(htmlcode).Groups[1].Value;
 
            MessageBox.Show(imagehref);
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
09.09.2015, 14:19
valun, используй Vk API, зачем делать себе мозги с HTTP, когда за вас прекрасное АПИ слепили?
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
09.09.2015, 14:37
Psilon, вы однако, раньше времени, открываете новую ступень обучения юного падавана
Он просил задачу - я ему поставил -
Наставничество в изучении С#
Дабы осваивал алгоритмы и способы решения.
VKApi планировался как следующая ступень) Когда обучиться тому, что обозначено в задаче
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
09.09.2015, 15:20
Woldemar89, хз, давать для обучения http-запросам сайт, который по http-запросу не возвращает всё содержимое это жестоко... Хотя бы какой-нибудь ithappens.me заюзали, например составить программу, которая цитаты с выбраным рейтингом только отображает. Я бы такую сам использовал Тут и работа с БД небольшая будет (куда-то данные же надо складывать), и нормальная работа, а не то что "ой, хотел получить кнопочку, а это на самом деле activeX-элемент, придется весь код выкидывать и переписывать на webbrowser/эмуляторы JS"
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
09.09.2015, 15:27  [ТС]
Woldemar89, Что то у меня не получается((
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
09.09.2015, 15:32
Цитата Сообщение от Psilon Посмотреть сообщение
хз, давать для обучения http-запросам сайт, который по http-запросу не возвращает всё содержимое это жестоко...
Psilon, пусть поймет, что иногда, бывают сюрпризы

Я ставил задачу так, чтобы можно было освоить несколько приемов и понять, что не все так просто,
например с теми же страницами, формируемыми скриптами.
Да я и подсказываю, когда не получается.
В задаче можно поупражняться в целом в парсинге, регулярках, HTML AgilityPack итп.

Добавлено через 2 минуты
Цитата Сообщение от valun Посмотреть сообщение
Что то у меня не получается((
Конкретно что?

Я же тебе показал - этот код (у меня он работает) выдает ссылку на аватарку - тебе осталось ее только выгрузить.


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            string htmlcode = Get_Html(@"http://vk.com/id.....");
 
            string imagehref = new Regex(@"background-image:url\((\S+.jpg)").Match(htmlcode).Groups[1].Value;
 
            MessageBox.Show(imagehref);
 
 
            public string Get_Html(string url)
            {
            string result = null;
 
            WebRequest req = WebRequest.Create(url);
            WebResponse resp = req.GetResponse();
            Stream stream = resp.GetResponseStream();
            StreamReader rdr = new StreamReader(stream, Encoding.GetEncoding("utf-8"));
 
            result = rdr.ReadToEnd();
            resp.Close();
 
            return result;
            }
GetHtml скопируй и переделай на GetBitmap чтобы возвращала Bitmap, который ты получишь из потока.
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
09.09.2015, 15:39  [ТС]
Это я сделал, получил ссылку. Но не пойму как ты выгрузил. Просмотрел твой пример с
Мой ответ в это теме тебе может помочь.
Получение методом GET содержимое страницы
И вот тут много чего непонятно например что такое(e.Result)
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
09.09.2015, 15:52
Цитата Сообщение от valun Посмотреть сообщение
Но не пойму как ты выгрузил.
Цитата Сообщение от valun Посмотреть сообщение
Получение методом GET содержимое страницы
Там я не выгружал изображение.


Вот тебе функция для выгрузки изображения.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public Bitmap LoadBitmap(string _url)
        {
 
            
 
            try
            {
 
              
                string req = _url;
              
                               
                using (WebClient client = new WebClient()) {
 
 
 
                    
                    //MessageBox.Show(req);
                    byte[] data = client.DownloadData(req);
                        
                   
                        using (MemoryStream ms = new MemoryStream(data))
                        {
                            return new Bitmap(ms);
                        }
                    
 
                
                }
                
            }
            catch { return null; }
                
 
        }
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
09.09.2015, 16:43
Woldemar89, подгружаем целый IE чтобы скачать картинку... Сильно

Добавлено через 4 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Drawing;
using System.IO;
using System.Net;
 
class Program
{
    static void Main()
    {
        var bitmap = DownloadRemoteImageFile("https://www.cyberforum.ru/images/cyberforum_logo.png");
        bitmap.Save("result2.bmp");
    }
 
    private static Bitmap DownloadRemoteImageFile(string uri)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            if ((response.StatusCode != HttpStatusCode.OK 
                && response.StatusCode != HttpStatusCode.Moved 
                && response.StatusCode != HttpStatusCode.Redirect))
            {
                throw new Exception("Status code = " + response.StatusCode);
            }
            if (!response.ContentType.StartsWith("image", StringComparison.OrdinalIgnoreCase))
                throw new ArgumentException("Cannot download non-image file!");
            using (Stream inputStream = response.GetResponseStream())
            using (var stream = new MemoryStream())
            {
                byte[] buffer = new byte[4096];
                int bytesRead;
                do
                {
                    bytesRead = inputStream.Read(buffer, 0, buffer.Length);
                    stream.Write(buffer, 0, bytesRead);
                } while (bytesRead != 0);
                return new Bitmap(stream);
            }
        }
    }
}
Притом, что если убрать все проверки, метод будет едва длиннее вашего:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    private static Bitmap DownloadRemoteImageFile(string uri)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
        using (HttpWebResponse response = (HttpWebResponse) request.GetResponse())
        using (Stream inputStream = response.GetResponseStream())
        using (var stream = new MemoryStream())
        {
            byte[] buffer = new byte[4096];
            int bytesRead;
            do
            {
                bytesRead = inputStream.Read(buffer, 0, buffer.Length);
                stream.Write(buffer, 0, bytesRead);
            } while (bytesRead != 0);
            return new Bitmap(stream);
        }
    }
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
09.09.2015, 16:45
Цитата Сообщение от Psilon Посмотреть сообщение
подгружаем целый IE чтобы скачать картинку... Сильно
Зато в пару строк и все понятно, всему свое время и место.
А вы уверены что IE? Или это сарказм?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.09.2015, 16:45

Использование сайта Microsoft при изучении
Не подскажете, что можно почитать на сайте? Вот это? https://msdn.microsoft.com/ru-ru/library/67ef8sbd.aspx

Изучении языка emenem97 ( общие недопонимания)
Ув. модераторы. Можно создать тему в которой буду задавать элементарные вопросы, которые будут возникать при изучении языка? Чтобы форум...

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

Чему уделить внимание при изучении языка программирования C#?
Изучаю самостоятельно C# winforms. Написал пару программ, сапёр, крестики нолики и с бд (mysql workbeanch) ознакомился подключить и...

Помощь в изучении
Приветствую. Не так давно увлекся программированием (хотя интерес эта область вызывала всегда). Ну, как увлекся, скорее задумался, серьезно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru