C # .net Мнемоника и использование в целом - PullRequest
0 голосов
/ 21 января 2009

Я только начинаю с C #, и мне кажется, что Microsoft назвала их новую систему .Net, потому что вам нужно использовать Интернет, чтобы найти все, чтобы найти полезные функции и в каком классе они его спрятали.

Мне кажется бессмысленным требовать, чтобы процедуры / функции были написаны и разработаны отдельно (статические объекты, не являющиеся экземплярами), чтобы их класс не функционировал как пространство имён.

Вот почему я не могу использовать Write или WriteLine вместо Console.WriteLine?

Затем, когда я начинаю привыкать к мысли, что объекты, которые я использую (например, строка), знают, как выполнять операции, к которым я привык, используя внешние функции, чтобы добиться (например, top, tolower, substring и т. Д.), Они меняются правила с числами, числами по какой-то причине не знают, как преобразовать себя из одного числового типа в другой, вместо этого вы должны вызывать статические функции класса Convert, чтобы преобразовать double в int и статические функции класса Math для достижения округления и усечения .. который быстро превращает ваш простой (на других языках) оператор в символьную строку в C #.

Также кажется, что он одержим строгой типизацией, которая несколько мешает мыслительному процессу, когда я пишу код. Я понимаю, что безопасность типов уменьшает количество ошибок, но я думаю, что она также увеличивает сложность, иногда без необходимости. Было бы неплохо, если бы вы могли выбирать контекстно-зависимые типы, когда хотите, без явного преобразования типов Cast или Converting или ToStringing, которое, по-видимому, является базовой необходимостью в C # для выполнения чего-либо.

Итак ... Возможно ли даже написать значимый код в блокноте и использовать cl без доступа в Интернет? Какой справочник вы бы использовали, не прибегая к автозаполнению и доступу к сети?

Есть ли какие-либо предложения по сглаживанию процесса использования этого языка и более естественному его использованию?

Ответы [ 6 ]

8 голосов
/ 21 января 2009

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

Я не согласен с вами, что MS не согласилась с тем фактом, что строка знает, как она должна преобразовываться в другой тип, а другие типы данных (например, целые числа) - нет. Это не так, поскольку строки сами не знают, как их следует преобразовать в другой тип. (Вы можете использовать класс Convert для преобразования типов в другие типы). Однако верно, что каждый тип в .NET имеет метод ToString (), но вы не должны полагаться на этот метод для преобразования того, что у вас есть, в строку.

Я думаю, что вы никогда раньше не работали на языке ОО, и поэтому у вас есть некоторые трудности с изменением парадигмы. Думайте об этом так: это все об ответственности и поведении. Класс является (если он хорошо спроектирован) ответственным за выполнение одной вещи, и делает это с одной стороны хорошо.

4 голосов
/ 21 января 2009

Нет оправдания использованию блокнота для кодирования современного языка. SharpDevelop или Visual C # Express предоставляют функциональные возможности для продуктивной работы с C #.

И нет, из-за сложности, не использование Интернета в качестве источника информации также не является хорошим вариантом.

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

Да, в C # есть недостатки, как и в любом другом языке. Я могу только дать вам совет, чтобы привыкнуть к языку. Многие из недостатков становятся понятными после этого, даже если некоторые из них не становятся менее раздражающими. Я рекомендую вам задать четкие прямые вопросы с примером кода, если вы хотите знать, как работают некоторые языковые конструкции или как вы можете более эффективно решать конкретные проблемы. Это облегчает ответ на эти вопросы.

3 голосов
/ 21 января 2009

Читая твой пост, я думал, что раньше ты работал в основном с Си или динамическими языками. Может быть, C # для вас просто неправильный выбор, есть IronPython, F # и множество других языков, которые имеют необходимую функциональность (например, функции вне классов и т. Д.)

Я не согласен с вами по поводу последовательности. На самом деле между некоторыми компонентами .NET существует небольшое несоответствие, но большая часть FW очень последовательна и предсказуема.

Строгая типизация является огромным фактором низкого количества дефектов. Динамическая типизация играет хорошо в небольших / промежуточных проектах (таких как сценарии и т. Д.). В более или менее сложной программе динамизм может вносить большую сложность.

Относительно интернета / автозаполнения - я с трудом представляю себе технологию с размером .NET, которая не требует большого количества источников знаний.

3 голосов
/ 21 января 2009

Для блокнота у меня нет никаких полезных советов, однако я бы посоветовал вам использовать одну из бесплатных IDE, Microsoft Express Edition или Sharp Develop . Среда IDE ускорит поиск языка, после чего вы сможете переключиться обратно в блокнот.

1 голос
/ 21 января 2009

Программирование в c # с использованием блокнота похоже на покупку Ferrari для езды по грунтовым дорогам.

По крайней мере, используйте Visual Studio Express Edition. Из того, что вы написали, я понимаю, что вы не из ОО, попробуйте изучить концепцию ОО и попытаться использовать ее. В конце концов вы поймете большинство дизайнерских решений, принятых для .Net.

http://en.wikipedia.org/wiki/Object-oriented_programming

0 голосов
/ 16 февраля 2014

Ох, парень, с чего мне начать (это будет длинный пост, хахаха), ну, давай понемногу: «Microsoft назвала их систему .NET, потому что вы должны использовать Intenet ...», причина, почему она называется .NET, заключается в том, что ЛЮКС MICROSOFT LANGUAGUES (а теперь и некоторые другие, такие как Phyton, Ruby и т. Д.) МОЖЕТ ВЫЗВАТЬ ЛЮБУЮ БИБЛИОТЕКУ. или DLL, например, вы можете "NET" (Network OR CALL) DLL, которая была построена в Visual Basic, F #, C ++ из WITHIN C # или из любого другого языка, который вы также можете вызывать (или ".NET") библиотеки C #. ОК ОДИН ВНИЗ !!!

СЛЕДУЮЩИЙ ОДИН: «кажется бессмысленным требовать .... чтобы их класс не функционировал как их пространство имен», это потому, что пространство имен может иметь КАК МНОГИЕ КЛАССЫ, КАК ВЫ ЖЕЛАЕТЕ, и ваш вопрос: Msgstr "Почему я не могу использовать Write или WriteLine вместо Console.WriteLine?" Причина в том, что: «Console» (System.Console, то есть выражение «Using» в начале вашей программы). Пространство имен - это место, где «Write» и «WriteLine» живут !! (вы также можете ПОЛНОСТЬЮ квалифицировать его (или «вызвать»). "). (все это мне кажется, что вам нужно изучить синтаксис C #), хорошо, СЛЕДУЮЩИЙ:

"когда я начну привыкать к мысли, что объекты ...", хорошо, простыми словами: C # - это «строго типобезопасный язык», так что СЛЕДУЕТ ДОЛЖЕН сообщать вам, что «вы получаете», иначе останьтесь с «слабым или безопасным языком типа», как PHP или C, и т. Д. Это НЕ означает, что это плохо просто означает, что ваша работа заключается в том, чтобы убедиться, как я говорю своим студентам: «ЕСЛИ ВАМ НУЖЕН INT, ПОТОМ ОПРЕДЕЛЯЙТЕ INT ВМЕСТО, ЧТОБЫ ПОЛУЧИТЬ КОМПИЛЯТОР, СДЕЛАЙТЕ ЕГО ДЛЯ ВАС В ДРУГИХ СЛУЧАЯХ, У ВАС БУДЕТ МНОГО ПЛОХОЙ ОШИБКИ», или другими словами, СВОЙ домашнее задание перед составлением части программного обеспечения.

Примечание: C # - это БЕЗОПАСНЫЙ ТИП ПОДОБНОСТИ, ТАК, ЕСЛИ ВЫ ХОТИТЕ, ЧТОБЫ ВЫ МОЖЕТЕ БЫТЬ ЭТО БЕЗОПАСНЫ, так что с этого момента ваша задача будет убедиться, поэтому не жалуйтесь позже (из-за ленивости), когда ошибки прибывают в RUNTIME (и много раз, когда клиент уже использует ваше дерьмовое программное обеспечение).

... и последнее по порядку, но не по значению: где ты хочешь застрелиться с помощью блокнота? Studio Express - БЕСПЛАТНО, даже база данных SQL SERVER - БЕСПЛАТНО СЛИШКОМ !! все «дополнительные» вещи предназначены для крупных компаний, команд и т. д. ВЫ МОЖЕТЕ СДЕЛАТЬ 99% ПЕРСОНАЛА С БЕСПЛАТНЫМИ ВЕРСИЯМИ (и вы все равно можете купить обновление до полной версии, если захотите перейти на Распределенное ПО или Большой проект). или если ваше программное обеспечение станет большим хитом, Пример: если вам нужны миллионы запросов или обращений в секунду на вашу базу данных или 100 человек работают над одним проектом (кодом), но в большинстве случаев для 2 или 3 «обычных» разработчиков работая дома или в небольшом офисе, БЕСПЛАТНО ОГРОМНО !!)

cherrsss !!! (PS: разработчик программного обеспечения с 80-х годов)

...