|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
Здравствуйте! Читал книгу Эндрю Троелсена, и в ней обнаружил следующий код: private static void InitDAD() { // Эта логика будет выводить имя любой сборки, // загруженной в домен приложения после его создания. AppDomain defaultAD = AppDomain.CurrentDomain; defaultAD.AssemblyLoad += (о, s) => { Console.WriteLine("{0} has been loaded!", s.LoadedAssembly.GetName().Name); }; } Строка defaultAD.AssemblyLoad += (о, s) => не совсем понятна. Что означает (о, s) => ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2014, 15:44 |
|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
(о, s) это входные параметры метода, который находится справа от => (о, s) => { Console.... } - это лямбда-выражение ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2014, 16:51 |
|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
Shocker.Pro, в общих чертах понятно, что в Console.WriteLine сначала идёт строка форматирования, а затем объект вывода. Но почему параметры обозначены o и s? Они где-то должны быть описаны? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2014, 15:37 |
|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
AN90, в данном случае это подписка на события, сказать проще - предоставить указатель на кусок кода для инициализации делегата который будет вызван на исполнение при событии, кусок кода у нас что? - функция, и для каждого делегата ( типа) она своя, со своей сигнатурой ( параметрами и воз. знач) так вот, в данном случае у этой функции два параметра и компилятор об этом знает, вы можете передать указатель уже на написанную заранее функ., а можете инициализировать делегат по месту как тут, если напишете не два параметра компилятор вас пошлет нах..,( так как он партикулярно знает про всё), в самом теле лямбды, компилятор тоже знает входные параметры, и любезно предоставляет хуету: ctrl- пробел, для быстрого написания кода.. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2014, 16:16 |
|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
AN90, вот буквально встретилось вот такое исполнение синглтона. Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.03.2014, 22:38 |
|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
Где-то в степи, теперь стало много понятнее. Но всё-таки: эти два параметра в скобках можно обозначать произвольно или я неправильно понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2014, 11:36 |
|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
да, так же, как и любом другом методе ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2014, 11:50 |
|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
Большое спасибо всем! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2014, 12:09 |
|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
Где-то в степиAN90, вот буквально встретилось вот такое исполнение синглтона. Код: c# 1. 2. 3. 4. 5. 6. 7.
Хм, а где тут синглтон? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2014, 10:33 |
|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
SerP1983, А lazy и есть синглтон чистой воды, с разными типами инициализации, с мониторингом обращения к значению из разных потоков, только в данном случае паковать делегат в lazy имею считать не рациональным, ибо затраты на создания перекроются затратами на мониторинг, а он тут имхо и не нужен, были бы коллекции другой вопрос.. зы это я привел как пример лямд.. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2014, 16:52 |
|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
Где-то в степи, Попридираюсь. Вики нам говорит: "Одиночка (англ. Singleton) — порождающий шаблон проектирования, гарантирующий, что в однопоточном приложении будет единственный экземпляр класса с глобальной точкой доступа." Lazy не гарантирует "единственный экземпляр класса с глобальной точкой доступа" ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2014, 09:35 |
|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
SerP1983, где он не гарантирует? вот принципиальная схема, без двойных проверок при инициализации и мониторов Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
15721526 Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2014, 10:55 |
|
Вопрос по лямбда выражениям в C#
|
|||
---|---|---|---|
#18+
2Где-то в степи: да нигде в существующей реальности не гарантирует)). На базе него можно создать полноценный синглтон, но нужны дополнительные телодвижения: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2014, 13:44 |
|
|
start [/forum/topic.php?fid=20&msg=38584823&tid=1403143]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 198ms |
0 / 0 |