Модераторы: diadiavova, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В чем разница между VB.NET и С#.NET? 
:(
    Опции темы
AlexLd
Дата 7.2.2007, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 1.2.2007

Репутация: нет
Всего: нет



Привет всем!
В дальнейшем, я хотел перейти на C#.NET с VB.NET!
Чего я найду нового? и чем C# лучше?

PM MAIL   Вверх
bom
Дата 8.2.2007, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: нет
Всего: 6



Другой синтаксис.
Ничем.
PM MAIL   Вверх
Naum
Дата 8.2.2007, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 2
Всего: 15





--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
Exception
Дата 19.2.2007, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Пописав на C# три месяца, понял, что он удобнее smile .
PM   Вверх
unicuum
Дата 11.3.2007, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Цитата(AlexLd @  7.2.2007,  21:56 Найти цитируемый пост)
В дальнейшем, я хотел перейти на C#.NET с VB.NET!
Чего я найду нового? и чем C# лучше?

Ничем он не лучше, это дело так сказать вкуса. А найдёшь ты различия, одно и то же ключевое слово будет значить совершенно другое. Между прочим если сравнивать с C++, картина абсолютна та же. Кое-чего у тебя в C# не будет, например, выборочные параметры (optional) или статических переменных (static), а кое-что добавится, ну например те же выходные параметры (out) и так далее

Если говорить о конкретных различиях, то нужно учитывать версии 7.0, 7.1, 8.0. Вот, например макросы пишутся на VB.NET. В простых случаях это удобно для воздействия на события VS.NET или просто выполнения какой-нибудь команды вызванной пользователем.

В общем, за исключением синтаксиса ничего нового нет. Главное же это сила привычки, пиши хоть на чём, лишь бы программы в итоге получались. С точки зрения функциональности языки .NET эквиваленты, да и не может быть иначе, ведь они создавались по одним и тем же правилам.



--------------------
user posted image
обычный день на винграде
PM   Вверх
agl
Дата 12.3.2007, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 25.6.2006

Репутация: нет
Всего: 3



Цитата
Кое-чего у тебя в C# не будет, например, ... статических переменных (static)


В С# есть статик  smile 
PM   Вверх
Exception
Дата 12.3.2007, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Цитата(agl @  12.3.2007,  20:00 Найти цитируемый пост)
В С# есть статик 


Он говорит о static-переменных, а не полях. Впрочем, они всё равно бесполезны.. smile
PM   Вверх
agl
Дата 13.3.2007, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 25.6.2006

Репутация: нет
Всего: 3



Не в службу, а в дружбу - что значит статик-переменные в вашем понимании? Или я чего-то непонимаю, или вы ошибаетесь.
Пример статик переменной в С#
Код

static public int var;


??

Это сообщение отредактировал(а) agl - 13.3.2007, 00:03
PM   Вверх
skyboy
Дата 13.3.2007, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



agl, ты привел пример static-поля. В смысле - поле класса.
А static-переменная объявляется вне принадлежности к классу. Static - в этом случае - определяет область видимости. Для static, если я не ошибаюсь, возможно существование вне функций. в том числе, вне main. ну, вроде глобальной переменной для модуля.

Добавлено @ 01:18 
нашел здесь:
Цитата

Если значение локального объекта должно сохраняться между вызовами функции, то обычный автоматический объект не подойдет: ведь его значение теряется каждый раз после выхода.
В таком случае локальный объект необходимо объявить как static (со статической продолжительностью хранения). Хотя значение такого объекта сохраняется между вызовами функции, в которой он определен, видимость его имени ограничена локальной областью. Статический локальный объект инициализируется во время первого выполнения инструкции, где он объявлен.

PM MAIL   Вверх
unicuum
  Дата 15.3.2007, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Цитата(agl @  13.3.2007,  00:03 Найти цитируемый пост)
Не в службу, а в дружбу - что значит статик-переменные в вашем понимании? Или я чего-то непонимаю, или вы ошибаетесь.
Пример статик переменной в С#
Выделить всёкод C#
1:
    
static public int var;

??

В программировании существует такое понятие как область видимости (scope). В Visual Basic.NET она делится следующим образом, хотя тут даже уместнее применить слово вкладывается.
  • Namespace scope – доступна во всём коде в пространстве имён в котором объявлена
  • Module scope – доступна во всём коде внутри модуля, класса, или структуры в котором объявлена
  • Procedure scope – доступна во всём коде внутри процедуры в которой объявлена
  • Block scope – доступна только внутри кодового блока в котором объявлена

Так вот в типах определяемых пользователям можно вводить элементы, для класса это поля, свойства, методы, события. Все они находятся в области видимости Module. В данном случае мы имеем поле var относящееся к самому типу, но не к его образцу, образец (экземпляр) кстати, называют объектом, а класс или структура от которого он реализован – шаблоном объекта.

Поле – это переменная находящаяся на уровне модуля, свойство – переменная находящаяся на уровне модуля с методом проверки значений, метод – функция или процедура находящиеся на уровне модуля, но... Но помимо этого есть ещё такое понятие как локальная переменная. Локальные переменные обитают на уровне процедур и блоков.

Код

Function updateSales(ByVal thisSale As Decimal) As Decimal
    Static totalSales As Decimal = 0
    totalSales += thisSale
    Return totalSales
End Function

Из стандартного примера видно, как объявляется переменная на уровне процедуры (прим. если бы внутри процедуры существовала инструкция, и переменная объявлялась в её блоке, то она соответственно был бы на уровне блоков). В данном случае она ещё и инициализируется значением 0. Когда после запуска программы эта функция вызовется первый раз, произойдёт инициализация в 0, но при последующих вызовах эта инициализация будет игнорироваться, и в итоге мы будем получать всё большее и большее значение.

Думаю, принцип ясен, а уж как его использовать и использовать ли вообще дело каждого программиста. Стоит отметить, что в C++ такая же возможность существует издревле и используется то же самое ключевое слово - static.



--------------------
user posted image
обычный день на винграде
PM   Вверх
Exception
Дата 18.3.2007, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



http://msdn2.microsoft.com/en-us/library/z2cty7t8.aspx

Думаю, больше вопросов не будет smile .
PM   Вверх
Kirill89
Дата 10.4.2007, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: нет
Всего: 4



Я кстати тоже непонял смысла от этого vb.net, в шестой версии была простота языка, оправдывающая название BASIC. Net технология перешла на абсолютно Си подобные алгоритмы и средства. Я даже начал подумыавть над забавной программкой для переделки vb кода на C# smile
И тоже, когда поджали обстаятельства, перешел именно на vb.net и C#. Сейчас их параллельно учу и начинаю думать, что хватает одной книги что-бы понять оба языка  smile 


--------------------
PM MAIL WWW   Вверх
Exception
Дата 10.4.2007, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Цитата(Kirill89 @  10.4.2007,  13:24 Найти цитируемый пост)
в шестой версии была простота языка, оправдывающая название BASIC


Простите, но язык был абсолютно дурацким. От него очень трудно отучаться, и он обычно прививает самые худшие практики программирования.


Цитата(Kirill89 @  10.4.2007,  13:24 Найти цитируемый пост)
Net технология перешла на абсолютно Си подобные алгоритмы и средства


Не понял вообще. Почему си-подобные?


Цитата(Kirill89 @  10.4.2007,  13:24 Найти цитируемый пост)
Я даже начал подумыавть над забавной программкой для переделки vb кода на c#


Такие уже есть smile .

То, что языки стали похожи, лишь значит. что VB продвинулся далеко-о-о вперёд, и то, что людям, привыкшим работатьс ущербным VB 6, трудно на него перейти -- вовсе не критерий неудачности языка. То, что языки похожи, это преимущество, так как проще работать в команде и понимать друг друга.

Это сообщение отредактировал(а) Exception - 10.4.2007, 12:43
PM   Вверх
Kirill89
Дата 10.4.2007, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 17.10.2006
Где: Питер

Репутация: нет
Всего: 4



Exception, вот скажите мне, vb.net теперь действительно равняется с другими языками ООП?
Он чем нибудь уступает языку Си например?
Если нет, то это всё меня очень радует, признаться мне никогда, не нравился синтакис Си...
А как же динамические массивы? В 6.0 они использовались для простоты, но занимали кучу памяти и ресурсов. Они ведь остались? Значит язык всё-равно не является серьёзным?


--------------------
PM MAIL WWW   Вверх
ivashkanet
Дата 10.4.2007, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 5
Всего: 149



Цитата(Kirill89 @  10.4.2007,  12:47 Найти цитируемый пост)
вот скажите мне, vb.net теперь действительно равняется с другими языками ООП?

Да, полностью объектно-ориентированный язык.
Цитата(Kirill89 @  10.4.2007,  12:47 Найти цитируемый пост)
А как же динамические массивы? В 6.0 они использовались для простоты, но занимали кучу памяти и ресурсов. Они ведь остались? Значит язык всё-равно не является серьёзным? 

Хочешь используй их, хочешь нет (я, например, ниразу не использовал. Да и массиву предпочитаю коллекцию (Array(of Type)))

PM MAIL WWW ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0780 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.