Ответы с форумов MSDN

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

Date: 17.09.2021 5:36:46

Больше всего помогло - скорее всего, практика, экспериментирование с IDE и написание различных простых программ: калькулятор, просмотрщик изображений, реализации различных алгоритмов на графах из дискретной математики.

"Какие самые успешные проекты были" - смотря как оценивать успешность... Думаю, для меня это различные студенческие программы для теплотехнических расчетов, которые были в качестве курсовых/диплома. То, что пишешь на работе, днище по сравнению с этим, если судить по "инновационности" так сказать.

"по каким ресурсам учили" - Было несколько книг: 

Лабор В.В. C# Создание приложений для Windows.  П. Агуров C# Сборник рецептов. Зиборов В.В. Visual С# 2012 на примерах. Была еще одна книга, что-то типа C# для тех, кто переходит с С++, но не помню автора и точного названия. Ну и конечно MSDN Library - в 2010-2013, когда я изучал C#, там было больше качественных материалов на русском языке. Но и сейчас можно ее использовать (теперь называется Microsoft Docs). Лучше читать английские материалы, если знание языка позволяет.

Message 28

Date: 24.09.2021 3:56:28

>подскажите, нужно ли проверять точность каждого числа при вычислениях Дабл

Не очень понятно, что вы имеете в виду под проверкой точности. При вычислениях с double несомненно надо учитывать, что некоторые числа точно не представимы в нем. Если вы пишете какое-то бизнес приложение, обычно лучше всего использовать decimal, а не double (хотя и в decimal также не все числа представимы, но он лучше подходит для финансовых расчетов). Проблемы чисел с плавающей точкой недавно обсуждались например здесь: https://social.msdn.microsoft.com/Forums/ru-RU/2e2bcb79-39dd-4086-903e-89a01ec07dd7/105010721082-10901072108210861077?forum=programminglanguageru 

Message 27

Date: 28.09.2021 4:34:20

У double - 16 значащих разрядов, а не 16 точных цифр после запятой. То есть 16 цифр после запятой будет только для чисел от 0 до 1. И то приблизительно, так как это число с плавающей точкой, с основанием равным 2, а не 10. Это приводит к печальному факту, что даже 0.01 точно не представимо в типе double (в чем и причина введения decimal для финансовых расчетов). Нет никаких гарантированных 16 знаков. У decimal есть гарантированные 28 знаков, но в более узком диапазоне, и тип decimal более медленный. Если складывать много, накапливается погрешность, как сумма абсолютных погрешностей слагаемых - тут ничего особенного для C# нет, обычная математика.

Проблему непредставимых чисел и накопления погрешности можно наглядно увидеть на простой программе:

            double x = 0.0;

            for (int i = 0; i < 1000; i++)
            {
                x += 0.01;
            }
            
            Console.WriteLine(x.ToString("F16"));
В теме про плавающую точку есть ссылка на статью с объяснениями от Microsoft, почитайте ее, чтобы лучше понять про точность.

>А для подстроки какая лучшая функция - И-й знак?

string.Substring ?

Message 26

Date: 02.10.2021 5:21:32

Какие компоненты вам нужны? Попробуйте посмотреть расширения VS по категории Controls: https://marketplace.visualstudio.com/search?target=VS&category=Controls&vsVersion=vs2019&subCategory=Windows%20Forms&sortBy=Installs

Message 25

Date: 04.10.2021 5:37:23

Интерсофт это для WPF, вроде как. В формах его использовать можно только через дополнительную прокладку ElementHost. Да и платные они.

"за короткое время сделать большое приложение"

Для этого не нужны компоненты как таковые :) Windows Forms сам по себе спроектирован именно для быстрой разработки. Компоненты ищут, когда чего-то не хватает в стандартном наборе, например, формирование отчетов, сложных графиков.

Message 24

Date: 06.10.2021 5:55:31

>Вот еще ищу движки для сайтов на Си Шарпе.

Не сталкивался. Как таковых движков для C# нету, потому что если сайт делается на C#, это уже как бы предполагает написание своего движка. Это не сложно, так как в ASP.NET есть заготовки под разный типично нужный функционал, вроде авторизации. Есть SharePoint, но специфический инструмент для корпоративных порталов.

Message 23

Date: 11.10.2021 16:37:32

Вы перепрыгиваете с одного на другое, у вас в кучу и winforms, и сайты, и Юнити. Попробуйте вернуться к совету из моего первого сообщения, идти от практики. Изучите несколько разных технологии, попробуйте написать на них простые приложения, тогда у вас появится понимание, что можно делать с каждой технологией и нужны ли к ним движки. 

Message 22

Date: 14.10.2021 16:22:03

Все, что в данный момент поддерживается, актуально. Если бы Windows Forms не были актуальны, Microsoft не тратили бы ресурсы на то, чтобы портировать его под .NET Core. Количество уже написанного кода таково, что всегда будет некоторая потребность в разработчиках, чтобы поддерживать его. Хотя, если вы спрашиваете, что актуально для новых проектов, это скорее всего не Winforms... Самое современное на C# это UWP для Windows, ASP.NET Core для Web, Xamarin для мобильных платформ, Unity3D в разработке игр.

"Вакансий не очень много"

Ну так это не удивительно. Желающих работать программистами и не имеющих опыта полно, так как куча вузов выпускают по IT-специальностям. Идея изучить новый язык, чтобы сразу найти работу именно по нему, довольно бесперспективна, если честно. Студент на выходе из вуза, имеющий хорошие навыки по одному языку программирования и поверхностные, допустим, еще по двум, все равно обычно будет браться за то, что есть, даже по другим языкам, выучивая нужное уже по факту нахождения работы. Для не-студента шансы еще более призрачные.


Автор: VadimTagil

Главная страница - Список тем - Репозиторий на GitHub