Перейти к содержимому

Фотография

Господа .Net 3.5Если такие ???


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 117

#41
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений

Где можно взять/купить дистрибутив .NET с MSDN. Сколько должно быть дисков? 3,5,7 - слышал разные мнения на этот счет.

Я конечно могу ошибаться, но по моему - .NET - качается бесплатно с майкрософт.ком, а MSDN - это вообще к .NET отношение имеет лишь косвенное... Или вы MSVS + MSDN имели в виду? Так у меня на одном dvd все влезает..
  • 0

#42
svd79

svd79
  • Завсегдатай
  • 103 сообщений
Да качаеться обсолютно бесплатно, в нем даже есть встроеный компилятор, можно писать в блокноте а потом компилить, если конечно найдеться такой извращенец который вместо полновестной студии будет узать блокнот :bored:
  • 0

#43
Я Легенда

Я Легенда

    Читатель

  • Завсегдатай
  • 297 сообщений

Где можно взять/купить дистрибутив .NET с MSDN. Сколько должно быть дисков? 3,5,7 - слышал разные мнения на этот счет.

www.microsoft.kz, www.hth.kz

Подразумевается подписка MSDN или просто студия?
А то подписки там вроде это одна байда, а студию по 2му адресу продадут.
  • 0

#44
v04bvs

v04bvs
  • В доску свой
  • 2 062 сообщений

Да качаеться обсолютно бесплатно, в нем даже есть встроеный компилятор, можно писать в блокноте а потом компилить, если конечно найдеться такой извращенец который вместо полновестной студии будет узать блокнот :bored:

А чем не устраивает бесплатная студия express?
  • 0

#45
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений
Кстати, если студии никакой нет, даже Express, то вот задачка, над которой предлагаю подумать каждому, кто интересуется (если студия есть, то не запускайте ее). Будет ли скомпилирована следующая программа? Если да, что будет на экране и почему?
class MyClass
	{
		// Для упрощения переменные а и b сделаны открытыми 
		public static int a = b + 1;
		public static int b = a + 1;
	}
	class Program
	{
		static void Main(string[] args)
		{
			Console.WriteLine("MyClass.a = {0}, MyClass.b = {1}", MyClass.a, MyClass.b);
			Console.ReadLine();
		}
	}

Сообщение отредактировал Visual1: 31.10.2008, 01:52:40

  • 0

#46
svd79

svd79
  • Завсегдатай
  • 103 сообщений


Да качаеться обсолютно бесплатно, в нем даже есть встроеный компилятор, можно писать в блокноте а потом компилить, если конечно найдеться такой извращенец который вместо полновестной студии будет узать блокнот :rotate:

А чем не устраивает бесплатная студия express?

обрезаная нет возможности клипать полновестно Web сервисы.
  • 0

#47
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений

обрезаная нет возможности клипать полновестно Web сервисы.

Можно поискать на торрентах полную версию. Ну или купить нормальную студию - она не так уж дорого стоит по сравнению с разработкой Web сервиса :rotate:
  • 0

#48
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений

Кстати, если студии никакой нет, даже Express, то вот задачка, над которой предлагаю подумать каждому, кто интересуется (если студия есть, то не запускайте ее). Будет ли скомпилирована следующая программа? Если да, что будет на экране и почему?

class MyClass
	{
		// Для упрощения переменные а и b сделаны открытыми 
		public static int a = b + 1;
		public static int b = a + 1;
	}
	class Program
	{
		static void Main(string[] args)
		{
			Console.WriteLine("MyClass.a = {0}, MyClass.b = {1}", MyClass.a, MyClass.b);
			Console.ReadLine();
		}
	}

Вообще в С++ такая вещь называется UB. Как в шарпе я не знаю, но по идее лучше такое запрещать компилить. Как вариант - после компиляции будет что угодно, из-за мусора в a и b.
PS: Кстати, это одна из вещей, которая может вести себя по разному в debug и release сборке.
  • 0

#49
Я Легенда

Я Легенда

    Читатель

  • Завсегдатай
  • 297 сообщений
ВАще есть же всякие версии для студентов и т.д. Там вообще дешево все или бесплатно. На олимпиаде студентов-программеров майкрософт всем лицензионые продукты дарил - сиквел, студию - типа бабок немерянно.
  • 0

#50
svd79

svd79
  • Завсегдатай
  • 103 сообщений
Можно и скачать купить :rotate: Да есть версии для студентов куда входит студия 2008 SQL Server 2008 и Windows 2008 - их действительно презентовала микрософт для студентов которые выиграли олимпиады по программированию.
На счет кода, скомпилиться без ошибок. но вот только зачем это сделано мне лично не понятно :smoke:
  • 0

#51
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений

На счет кода, скомпилиться без ошибок.

Ответ правильный. :rotate: Только объясните, почему?

но вот только зачем это сделано мне лично не понятно

Как зачем? Для лучшего понимания C# и .NET.

Так все же, что будет на экране и почему?
  • 0

#52
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений

Только объясните, почему?

Почему скомпилится? Тогда потому что так принято стандартом языка.

Как зачем? Для лучшего понимания C# и .NET.

Видимо svd79 спрашивал не зачем вы привели эту задачу, а зачем так вообще делать? :rotate:

PS: Не проверял ибо влом. Шанс большой что например в mono, или даже других версиях компилятора будет другой результат. Это очень хороший пример UB
  • 0

#53
Товарищ Жуков

Товарищ Жуков
  • Свой человек
  • 990 сообщений

Вообще в С++ такая вещь называется UB. Как в шарпе я не знаю, но по идее лучше такое запрещать компилить. Как вариант - после компиляции будет что угодно, из-за мусора в a и b.
PS: Кстати, это одна из вещей, которая может вести себя по разному в debug и release сборке.

Как вариант, на экране будет: мусор + 1 и мусор + 2. Причем мусор вполне может быть равен 0.
PS: с C# не знаком.
  • 0

#54
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений

Как вариант, на экране будет: мусор + 1 и мусор + 2.

А еще может быть мусор + 2 и мусор + 1. От реализации компилятора зависит.

Причем мусор вполне может быть равен 0.

В debug сборке скорее всего. В release сборке не факт.

Сообщение отредактировал Zulkar: 31.10.2008, 15:22:05

  • 0

#55
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений

Почему скомпилится? Тогда потому что так принято стандартом языка.

Верным путем идете, товарищ! (с) :rotate: Но все же это слишком общий, неконкретный ответ. Идеально было бы привести ссылку на конкретный пункт(ы) стандарта, чтобы было видно - это на самом деле допускается стандартом.

Видимо svd79 спрашивал не зачем вы привели эту задачу, а зачем так вообще делать? :smoke:

А никто и не говорил, что нужно так делать. ;)

PS: Не проверял ибо влом. Шанс большой что например в mono, или даже других версиях компилятора будет другой результат. Это очень хороший пример UB

Если не противоречит стандарту языка, то никакого UB нет. А если это так, тогда и mono, и другие версии компиляторов обязаны выдавать один и тот же результат.
  • 0

#56
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений

Верным путем идете, товарищ! (с) :rotate: Но все же это слишком общий, неконкретный ответ. Идеально было бы привести ссылку на конкретный пункт(ы) стандарта, чтобы было видно - это на самом деле допускается стандартом.

Не представляю как составить запрос гуглу :smoke: Стандарт C# не открывал ни разу, мне и без стандарта пишется на нем неплохо, по учебникам и MSDN'у.

Если не противоречит стандарту языка, то никакого UB нет. А если это так, тогда и mono, и другие версии компиляторов обязаны выдавать один и тот же результат.

Если противоречит стандарту - то это просто не должно скомпилится. Но просто в стандарте может быть об этом не упомянуто.

А вот такая штука что даст? (в С++, ну и C#)
int x=0;
x=x++;
Чему равно x?

Просто возможно в стандарте четко упомянуто, что static переменные инициализируются CRT (ну или что там его аналогом в .NET является) в порядке их объявления в классе, а может быть и нет. Тогда каждый разработчик компилятора имеет право делать как захочет.
  • 0

#57
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений

Не представляю как составить запрос гуглу :lol:

Ню-ню. :dandy:

Стандарт C# не открывал ни разу, мне и без стандарта пишется на нем неплохо, по учебникам и MSDN'у.

И все же, на мой простой вопрос правильно ответить не смогли.

А вот такая штука что даст? (в С++, ну и C#)
int x=0;
x=x++;
Чему равно x?

На C# у меня получилось x == 0. Такой же результат получается, если x объявлен static. Ошибок и/или предупреждений нет, что в release, что в debug.
  • 0

#58
-Zen2004-

-Zen2004-
  • Завсегдатай
  • 136 сообщений
результат будет таков....

public static int a = b + 1;
b будет равнятся нулю соответствено а будет 1
ну а потом
public static int b = a + 1;
уже будет 2
Вот и ответ....

MyClass.a=1, MyClass.b=2

Сообщение отредактировал -Zen2004-: 31.10.2008, 17:58:04

  • 0

#59
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений


Не представляю как составить запрос гуглу :lol:

Ню-ню. :dandy:

Ну просветите.


Стандарт C# не открывал ни разу, мне и без стандарта пишется на нем неплохо, по учебникам и MSDN'у.

И все же, на мой простой вопрос правильно ответить не смогли.

На какой? Указать графу и параграф стандарта? Увольте, не собираюсь.
Или что получится? Тогда мусор+1,мусор+2 или наоборот. Могу конечно воткнуть код в студию и посмотреть, оно надо? :-) Возможно в качестве мусора будет 0, но опять же, не факт.


А вот такая штука что даст? (в С++, ну и C#)
int x=0;
x=x++;
Чему равно x?

На C# у меня получилось x == 0. Такой же результат получается, если x объявлен static. Ошибок и/или предупреждений нет, что в release, что в debug.

Вы ведь тоже не смогли ответить на такой простой вопрос без студии. :)
Правильный ответ - это UB. MSVS 2008 и 6-й билдер дают 1. gcc дает 0. :) Ошибок и предупреждений нет.
Здесь не имеет значения ни тип сборки, ни то, является ли переменная статической. насчет volatile надо подумать, но навряд ли. В вашем примере тип сборки может иметь значение. Опять таки - надо смотреть прописано ли это явно в стандарте. И от того, разрешено ли все что не запрещено или наоборот.
  • 0

#60
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений

Ну просветите.

Ну нет. Вы просто пошутили, а я оценил ваш юмор. :lol:


И все же, на мой простой вопрос правильно ответить не смогли.

На какой? Указать графу и параграф стандарта? Увольте, не собираюсь.

Понятно на какой. Я спрашивал, что будет видно на экране и почему. Вы ответили неправильно:

Или что получится? Тогда мусор+1,мусор+2 или наоборот. Могу конечно воткнуть код в студию и посмотреть, оно надо? :-) Возможно в качестве мусора будет 0, но опять же, не факт.

Не только неправильно, но и бездоказательно.

Вы ведь тоже не смогли ответить на такой простой вопрос без студии. :)

Ответить на ваш вопрос могу и без студии, но для этого опять же, необходимо смотреть в стандарте. Вы же сами об этом говорите:

Опять таки - надо смотреть прописано ли это явно в стандарте.


Правильный ответ - это UB.

В случае вашего вопроса - да, а в случае моего - нет никакого UB. Хотя конечно, такой стиль программирования настоятельно не рекомендуется.


результат будет таков....

public static int a = b + 1;
b будет равнятся нулю соответствено а будет 1
ну а потом
public static int b = a + 1;
уже будет 2
Вот и ответ....

MyClass.a=1, MyClass.b=2

Первый правильный ответ! :dandy:

Сообщение отредактировал Visual1: 31.10.2008, 18:40:13

  • 0


Количество пользователей, читающих эту тему: 3

пользователей: 0, неизвестных прохожих: 3, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.