Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2015, 01:25   #11
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
одно и тоже, просто первое частное определение второго (некая конкретизация) и не более
Мне искренне жаль тех, кто будет пользоваться вашими программами, если вы действительно так считаете вопреки разъяснениям с msdn...
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 02.02.2015, 02:08   #12
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

Цитата:
Мне искренне жаль тех, кто будет пользоваться вашими программами
а это тут причем? умора
lomastr_ вне форума Ответить с цитированием
Старый 02.02.2015, 12:58   #13
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
int x это объявление переменной, а не самого типа int
Согласен. До сих пор иногда "подтормаживаю" от всего нового.


[QUOTE=Alex11223;1465900]Странный у вас Троелсен, я вот открыл 5 издание 2010 года "Pro C# ..." (англ.), не нашел там ; после описаний классов. И в главе про эти PrivateInnerClass'ы тоже.
Да и вообще не видел такого нигде, просто нет смысла так писать.

Вот мой вариант:
http://takebin.com/u/651d81c1f5

А, если конкретнее, то вот:

2014-07-28_004259.jpg

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
А чего с "интересным моментом" непонятного? Да, это одно и то же. Это примерно как указатели в С/С++/Паскале/...
Ну и классы тут не причем.
Код:
int x;
x = 1;
Теперь уже всё понятно. Я сам ответил на свой вопрос чутка выше.
hoz вне форума Ответить с цитированием
Старый 02.02.2015, 13:10   #14
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И что на этом скриншоте увидеть надо было? Ни лишних ;, ни опечатки в имени класса, все ок.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.02.2015, 19:09   #15
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Alex11223, да ладно?
Напомню о чём речь...
PHP код:
OuterClass.publicInnerClass inner
inner = new OuterClass.PublicInnetClass(); 
Здесь же ещё лишь объявление переменной и всё. Инициализации значением нет в первой строке. Откуда там будет "НЕ NULL"?

Цитата:
Сообщение от mika77 Посмотреть сообщение
"Хотя читаю Троелсена с самого начала"
какую версию?
электронная?
Да, электронная. Бумажные покупал по С++ и Си. Дорогие довольно-таки. А C# в электронном виде читаю. Мне пока что и так нормально. Хватает меня на некоторое количество страниц в день.

Последний раз редактировалось Stilet; 02.02.2015 в 19:16.
hoz вне форума Ответить с цитированием
Старый 02.02.2015, 19:25   #16
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

"не null" потому что компилятор просто не даст обратиться к неиницализированной локальной переменной
Код:
        static void Main(string[] args)
        {
            object obj;
            Console.WriteLine(obj.ToString()); // compile-time error
            int x;
            Console.WriteLine(x.ToString()); // compile-time error
        }
А вот если это поля класса, то тогда можно:
Код:
    class MyClass
    {
        private object _obj; // null
        private int _n; // 0
        private bool _f; // false

        public override string ToString()
        {
            return (_obj == null ? "null" : "not null") + Environment.NewLine +
                      _n + Environment.NewLine +
                      _f + Environment.NewLine;

        }
    }

        static void Main(string[] args)
        {
            Console.WriteLine(new MyClass().ToString());
        }
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 02.02.2015 в 19:28.
Alex11223 вне форума Ответить с цитированием
Старый 02.02.2015, 19:29   #17
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
Здесь же ещё лишь объявление переменной и всё. Инициализации значением нет в первой строке. Откуда там будет "НЕ NULL"?
Цитата:
Помните, что в C# не допускается использование неинициализированных переменных.
(с) MSDN. Говорить о наличии какого-либо значения у неинициализированной переменной (null ВНЕЗАПНО тоже значение) в C# нельзя, что я и хотел сказать. Alex11223, например, понял мою мысль. Надеюсь, вы тоже теперь понимаете
Если же недоверие к моим словам у вас все равно остается, попробуйте вывести значение этой неинициализированной переменной... скажем в консоль (Console.Write()). Если там действительно null, то у вас не должно возникнуть с этим никаких проблем)

P.S. немного опоздал я с сообщением) ну ладно, пусть все равно будет
Благодарить в репутацию. Проклинать — туда же

Последний раз редактировалось Luuzuk; 02.02.2015 в 19:29. Причина: опоздал-с
Luuzuk вне форума Ответить с цитированием
Старый 02.02.2015, 22:20   #18
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию

Alex11223, а что значит тут:
PHP код:
static void Main(string[] args)
        {
            
Console.WriteLine(new MyClass().ToString());
        } 
new MyClass() ?
Знаю, что когда в наследовании, подобным образом происходит переопределение. А тут что это означает?
hoz вне форума Ответить с цитированием
Старый 02.02.2015, 22:23   #19
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Просто создание объекта класса MyClass и вызов его метода ToString. Наследование не причем, где вы тут его увидели?

Аналог:
Код:
MyClass obj = new MyClass();
Console.WriteLine(obj.ToString());
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.02.2015, 22:36   #20
hoz
Форумчанин
 
Аватар для hoz
 
Регистрация: 29.06.2013
Сообщений: 132
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Наследование не причем, где вы тут его увидели?

Аналог:
Код:
MyClass obj = new MyClass();
Console.WriteLine(obj.ToString());
Тут не видел. Я имел ввиду, что через new + имя переменной такое встречается, как переопределение в дочернем классе.
hoz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
О типах данных Cstln Паскаль, Turbo Pascal, PascalABC.NET 2 28.05.2013 10:08
Типизация. Строки. Типы в типах. Человек_Борща Общие вопросы Delphi 4 04.10.2012 21:40
О типах данных kishtuki C# (си шарп) 4 28.02.2012 20:51
Проблема в типах artem611 Паскаль, Turbo Pascal, PascalABC.NET 2 11.04.2011 10:18
C# ошибка в типах Gohan Помощь студентам 1 20.02.2011 14:54