Я конечно могу ошибаться, но по моему - .NET - качается бесплатно с майкрософт.ком, а MSDN - это вообще к .NET отношение имеет лишь косвенное... Или вы MSVS + MSDN имели в виду? Так у меня на одном dvd все влезает..Где можно взять/купить дистрибутив .NET с MSDN. Сколько должно быть дисков? 3,5,7 - слышал разные мнения на этот счет.
![Фотография](https://vse.kz/uploads/av-7746.jpg?_r=0)
Господа .Net 3.5Если такие ???
#41
Отправлено 28.10.2008, 16:59:06
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
#43
Отправлено 30.10.2008, 21:59:15
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
www.microsoft.kz, www.hth.kzГде можно взять/купить дистрибутив .NET с MSDN. Сколько должно быть дисков? 3,5,7 - слышал разные мнения на этот счет.
Подразумевается подписка MSDN или просто студия?
А то подписки там вроде это одна байда, а студию по 2му адресу продадут.
#45
Отправлено 30.10.2008, 22:56:20
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
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
#46
Отправлено 31.10.2008, 10:17:04
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
обрезаная нет возможности клипать полновестно Web сервисы.А чем не устраивает бесплатная студия express?
Да качаеться обсолютно бесплатно, в нем даже есть встроеный компилятор, можно писать в блокноте а потом компилить, если конечно найдеться такой извращенец который вместо полновестной студии будет узать блокнот
#48
Отправлено 31.10.2008, 10:40:21
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Вообще в С++ такая вещь называется UB. Как в шарпе я не знаю, но по идее лучше такое запрещать компилить. Как вариант - после компиляции будет что угодно, из-за мусора в a и b.Кстати, если студии никакой нет, даже 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(); } }
PS: Кстати, это одна из вещей, которая может вести себя по разному в debug и release сборке.
#50
Отправлено 31.10.2008, 14:06:14
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
![:rotate:](http://vse.kz/public/style_emoticons/default/smile.gif)
На счет кода, скомпилиться без ошибок. но вот только зачем это сделано мне лично не понятно
![:smoke:](http://vse.kz/public/style_emoticons/default/smirk.gif)
#52
Отправлено 31.10.2008, 15:08:09
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Почему скомпилится? Тогда потому что так принято стандартом языка.Только объясните, почему?
Видимо svd79 спрашивал не зачем вы привели эту задачу, а зачем так вообще делать?Как зачем? Для лучшего понимания C# и .NET.
![:rotate:](http://vse.kz/public/style_emoticons/default/smile.gif)
PS: Не проверял ибо влом. Шанс большой что например в mono, или даже других версиях компилятора будет другой результат. Это очень хороший пример UB
#53
Отправлено 31.10.2008, 15:18:04
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Как вариант, на экране будет: мусор + 1 и мусор + 2. Причем мусор вполне может быть равен 0.Вообще в С++ такая вещь называется UB. Как в шарпе я не знаю, но по идее лучше такое запрещать компилить. Как вариант - после компиляции будет что угодно, из-за мусора в a и b.
PS: Кстати, это одна из вещей, которая может вести себя по разному в debug и release сборке.
PS: с C# не знаком.
#54
Отправлено 31.10.2008, 15:20:17
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
А еще может быть мусор + 2 и мусор + 1. От реализации компилятора зависит.Как вариант, на экране будет: мусор + 1 и мусор + 2.
В debug сборке скорее всего. В release сборке не факт.Причем мусор вполне может быть равен 0.
Сообщение отредактировал Zulkar: 31.10.2008, 15:22:05
#55
Отправлено 31.10.2008, 15:55:41
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Верным путем идете, товарищ! (с)Почему скомпилится? Тогда потому что так принято стандартом языка.
![:rotate:](http://vse.kz/public/style_emoticons/default/smile.gif)
А никто и не говорил, что нужно так делать.Видимо svd79 спрашивал не зачем вы привели эту задачу, а зачем так вообще делать?
![;)](http://vse.kz/public/style_emoticons/default/smile.gif)
Если не противоречит стандарту языка, то никакого UB нет. А если это так, тогда и mono, и другие версии компиляторов обязаны выдавать один и тот же результат.PS: Не проверял ибо влом. Шанс большой что например в mono, или даже других версиях компилятора будет другой результат. Это очень хороший пример UB
#56
Отправлено 31.10.2008, 16:17:13
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Не представляю как составить запрос гуглуВерным путем идете, товарищ! (с)
Но все же это слишком общий, неконкретный ответ. Идеально было бы привести ссылку на конкретный пункт(ы) стандарта, чтобы было видно - это на самом деле допускается стандартом.
![:smoke:](http://vse.kz/public/style_emoticons/default/smile.gif)
Если противоречит стандарту - то это просто не должно скомпилится. Но просто в стандарте может быть об этом не упомянуто.Если не противоречит стандарту языка, то никакого UB нет. А если это так, тогда и mono, и другие версии компиляторов обязаны выдавать один и тот же результат.
А вот такая штука что даст? (в С++, ну и C#)
int x=0;
x=x++;
Чему равно x?
Просто возможно в стандарте четко упомянуто, что static переменные инициализируются CRT (ну или что там его аналогом в .NET является) в порядке их объявления в классе, а может быть и нет. Тогда каждый разработчик компилятора имеет право делать как захочет.
#57
Отправлено 31.10.2008, 17:13:30
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Ню-ню.Не представляю как составить запрос гуглу
![]()
![:dandy:](http://vse.kz/public/style_emoticons/default/laugh.gif)
И все же, на мой простой вопрос правильно ответить не смогли.Стандарт C# не открывал ни разу, мне и без стандарта пишется на нем неплохо, по учебникам и MSDN'у.
На C# у меня получилось x == 0. Такой же результат получается, если x объявлен static. Ошибок и/или предупреждений нет, что в release, что в debug.А вот такая штука что даст? (в С++, ну и C#)
int x=0;
x=x++;
Чему равно x?
#59
Отправлено 31.10.2008, 17:55:02
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Ну просветите.Ню-ню.
Не представляю как составить запрос гуглу![]()
На какой? Указать графу и параграф стандарта? Увольте, не собираюсь.И все же, на мой простой вопрос правильно ответить не смогли.
Стандарт C# не открывал ни разу, мне и без стандарта пишется на нем неплохо, по учебникам и MSDN'у.
Или что получится? Тогда мусор+1,мусор+2 или наоборот. Могу конечно воткнуть код в студию и посмотреть, оно надо?
![:-)](http://vse.kz/public/style_emoticons/default/smile.gif)
Вы ведь тоже не смогли ответить на такой простой вопрос без студии.На C# у меня получилось x == 0. Такой же результат получается, если x объявлен static. Ошибок и/или предупреждений нет, что в release, что в debug.
А вот такая штука что даст? (в С++, ну и C#)
int x=0;
x=x++;
Чему равно x?
![:)](http://vse.kz/public/style_emoticons/default/smile.gif)
Правильный ответ - это UB. MSVS 2008 и 6-й билдер дают 1. gcc дает 0.
![:)](http://vse.kz/public/style_emoticons/default/smile.gif)
Здесь не имеет значения ни тип сборки, ни то, является ли переменная статической. насчет volatile надо подумать, но навряд ли. В вашем примере тип сборки может иметь значение. Опять таки - надо смотреть прописано ли это явно в стандарте. И от того, разрешено ли все что не запрещено или наоборот.
#60
Отправлено 31.10.2008, 18:19:24
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Ну нет. Вы просто пошутили, а я оценил ваш юмор.Ну просветите.
![:lol:](http://vse.kz/public/style_emoticons/default/smile.gif)
Понятно на какой. Я спрашивал, что будет видно на экране и почему. Вы ответили неправильно:На какой? Указать графу и параграф стандарта? Увольте, не собираюсь.
И все же, на мой простой вопрос правильно ответить не смогли.
Не только неправильно, но и бездоказательно.Или что получится? Тогда мусор+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:](http://vse.kz/public/style_emoticons/default/beer.gif)
Сообщение отредактировал Visual1: 31.10.2008, 18:40:13
Количество пользователей, читающих эту тему: 3
пользователей: 0, неизвестных прохожих: 3, скрытых пользователей: 0