Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.08.2018, 12:15
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 11  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
чем различается foreach цикл для Array и List?
чем различается локальная функция и short lambda
чем различается event и delegate?
чем различается if(SomeEvent != null) SomeEvent(); и SomeEvent?.Invoke()?
Вот как раз на все эти вопросы есть ответы в книжке Albahari) при чем в первой половине, или даже трети книги.
Цитата:
читать книги по 6-му шарпу, когда на подходе восьмой, ну я даже не знаю..
мм. А у вас на работе как только выходит новая версия языка все сразу переходят на неё? Если так, то у вас видимо, очень прогрессивная компания.
Обычно приходишь на какой-то проект, а он написан еще на бородатой версии языка, и никому нафиг не надо переходить на новую, ибо много рефакторить и неизвестно какие баги из-за этого всплывут. 6ю версию точно учить надо. У нас на работе вообще сейчас пилим проект, который еще на 4й
__________________
Ко мне можно и нужно обращаться на ты)

Старый 01.08.2018, 12:27
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 12  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Да, у нас во всю используются возможности последней релиз версии языка.
Часть вопросов которые я задал - это вопросы из основ, они есть везде, но вот например мне интересно, что в той книге про foreach, именно в контексте вопроса и что именно написано про последний пункт. Хотя я вопросы задал не для того, чтобы померяться
__________________
местонахождение

Старый 01.08.2018, 12:56
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 13  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 566
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Когда я изучал js, то у меня была масса тупых вопросов и костыльных решений из-за того, что я не представлял возможностей языка. Прочитав несколько книг по js (на это ушло всего лишь пару недель, потому что я не заучиваю команды) глупые вопросы сразу отпали, а когда знаешь основы, то дальше гуглить. По своей практике заметил, что без знания возможностей языка и основных команд, изучение через гугл занимает гораздо больше времени.
__________________
Я заклинаю вас действовать иначе.

Старый 01.08.2018, 20:47
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 14  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
и что именно написано про последний пункт
Кусочек текста. Вообще там дофига чего написано про оператор "элвис", но мне в лом копировать из пдф из-за дурацкой прокрутки.
Цитата:
Null-conditional operator (C# 6)
The ?. operator is the null-conditional or “Elvis” operator, and is new to C# 6. It
allows you to call methods and access members just like the standard dot operator,
except that if the operand on the left is null, the expression evaluates to null instead
of throwing a NullReferenceException:
System.Text.StringBuilder sb = null;
string s = sb?.ToString(); // No error; s instead evaluates to null
The last line is equivalent to:
string s = (sb == null ? null : sb.ToString());
Upon encountering a null, the Elvis operator short-circuits the remainder of the
expression. In the following example, s evaluates to null, even with a standard dot
operator between ToString() and ToUpper():
System.Text.StringBuilder sb = null;
string s = sb?.ToString().ToUpper(); // s evaluates to null without error

Цитата:
что в той книге про foreach, именно в контексте вопроса и что именно написано про последний пункт
Там ты не найдешь именно по контексту вопроса конкретный ответ. В книжке есть подробное описание работы этого цикла, что делает компилятор при этом, про касты, боксинг и много всего. Если я сам правильно понял твой вопрос, то разница в том, что для массива тип известен компилятору сразу, и дополнительный внутренний каст не нужен. Для дженерик листа потребуется каст.
Если я не прав, поправь.
__________________
Ко мне можно и нужно обращаться на ты)

Старый 01.08.2018, 21:20
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 15  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
?. - оператор я специально привел в связке с эвентом, ибо вся фишка именно в связке.
про массив и лист, никакого каста не надо, но для массива цикл превратится в for, потому что срабатывает специальная оптимизация, а для листа будет создан итератор, вопрос был про это

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


Последний раз редактировалось СлаваRa; 01.08.2018 в 21:43.
Старый 02.08.2018, 00:15
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 16  
Ответить с цитированием
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
Почему этот оператор называется словом "Элвис"?
__________________
Не сломано - не чини!

Старый 02.08.2018, 01:23
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 17  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
из-за "прически"
__________________
местонахождение

Старый 02.08.2018, 09:34
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 18  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Почему этот оператор называется словом "Элвис"?
Цитата:
из-за "прически"
Я всегда думал, что это из-за того, что ?. похоже на позы элвиса, когда он всяко кривлялся возле микрофона

Цитата:
я еще не встречал книг где это все разбирается и описывается как и почему это применяется на практике, про элвис и евент, этот кейс имеет даже класификацию для статических анализаторов. На самом деле таких вопрос очень много)
Это мой косяк, что я не обратил внимание, что там Event написано. Этот сценарий в книге есть в разделе событий.
Цитата по элвису с ивентами
Цитата:
In multithreaded scenarios (Chapter 14), you need to assign
the delegate to a temporary variable before testing and invok‐
ing it to avoid a thread-safety error:
var temp = PriceChanged;
if (temp != null) temp (this, e);
We can achieve the same functionality without the temp vari‐
able from C# 6 with the null-conditional operator:
PriceChanged?.Invoke (this, e);
Being both thread-safe and succinct, this is now the best gen‐
eral way to invoke events.
Вкратце, элвисом можно заменить проверку на безопасность в многопоточном сценарии
Цитата:
я еще не встречал книг где это все разбирается и описывается как и почему это применяется на практике, про элвис и евент, этот кейс имеет даже класификацию для статических анализаторов. На самом деле таких вопрос очень много)
Так практика на то и практика. Есть разные кукбуки или книжки по подготовке к сертификации 70-483, но, естественно, они всего покрыть не могут
__________________
Ко мне можно и нужно обращаться на ты)

Старый 04.08.2018, 13:52
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 19  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
`?:` это elvis, `?.` это safe navigation operator

Старый 04.08.2018, 15:57
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 20  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Тем, он называется Елвис оператор, но ты молодец, потому что правильный элвис - ?: тот который устраняет тернаки
__________________
местонахождение

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:04.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.