Здравствуйте, mrTwister, Вы писали:
T>А что сделает keyToValMap при обращении по несуществующему ключу: сгенерирует исключение, или вернет null? Если бы там было написано Dictionary<Key,Value>, то у меня такой вопрос бы не возник.
Я так понимаю, что если бы там было написано скажем ActionsDictionary, то таких вопросов бы тоже не возникло?
Здравствуйте, rameel, Вы писали:
R>Здравствуйте, mrTwister, Вы писали:
T>>А что сделает keyToValMap при обращении по несуществующему ключу: сгенерирует исключение, или вернет null? Если бы там было написано Dictionary<Key,Value>, то у меня такой вопрос бы не возник.
R>Я так понимаю, что если бы там было написано скажем ActionsDictionary, то таких вопросов бы тоже не возникло?
Если бы я знал, что такое ActionsDictionary, то нет. Предвидя вопрос, сразу даю на него ответ: методов гораздо больше, чем типов.
Здравствуйте, Mystic, Вы писали:
M>Ну и в таком случае я предпочитаю критические участки писать на чистом С, где все под контролем.
Упомянутый уже здесь Эрик Мейер, когда рассказывал про некоторые применения Rx, говорил, что он недостаточно умен, чтобы написать аналогичное без линка. И я ему почму то верю.
... << RSDN@Home 1.2.0 alpha 4 rev. 1458 on Windows 7 6.1.7600.0>>
Добавлю еще одно , когда я краем уха слышал про LINQ (я не работаю с С решетка), я для себя сделал вывод что это механизм мапинга объектов, в БД в первую очередь.
Здравствуйте, igna, Вы писали:
I>Ну вот ты пишешь код работающий только с ICollection и создаешь эту самую ICollection как new Dictionary. Затем случайно используешь метод имеющийся в Dictionary, но отсутствующий в ICollection. В зависимости от того, объявишь ли ты переменную как ICollection или как Dictionary, компилятор схватит тебя за руку или нет. Во втором случае сопровождающий программу возможно получит ненужную проблему, когда несколькими годами позже попытается заменить Dictionary на что-нибудь другое.
Это, кажется, что-то из сферы написания ПО для АЭС. На практике как-то ни разу не видел, чтобы кто-то хотел ограничивать локальные переменные или даже приватные методы.
Ограничение по интерфейсу публичных/защищенных члоенов класса разумно и понятно. Ограниение возможностей локальных переменных уже смахивает на паранойю.
Здравствуйте, igna, Вы писали:
I>Интересно. А если написать: I>
I> def stream = FileStream();
I>
I>и использовать затем только методы Stream, какого типа окажется stream, Stream или FileStream?
Конечно FileStream. Ведь тип указан явно.
И в моем прмере тип был указан явно. Компилятор только параметры генерика вывел.
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, mrTwister, Вы писали:
T>А что сделает keyToValMap при обращении по несуществующему ключу: сгенерирует исключение, или вернет null? Если бы там было написано Dictionary<Key,Value>, то у меня такой вопрос бы не возник.
А может тебе стоит для начала изучить стандартную библиотеку .NET?
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, mrTwister, Вы писали:
T>Не увиливай. Твой код кто-нибудь кроме тебя тестирует, перед тем, как он попадает в продакшен? Или твой код в продакшен не попадает? Если так, то вопросов больше не имею Его код попадает в такое колличество продакшенов...
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, minorlogic, Вы писали:
M>Добавлю еще одно , когда я краем уха слышал про LINQ (я не работаю с С решетка), я для себя сделал вывод что это механизм мапинга объектов, в БД в первую очередь.
Этот факт хорошо ложится в мою гипотезу
Здравствуйте, WolfHound, Вы писали:
T>>Не увиливай. Твой код кто-нибудь кроме тебя тестирует, перед тем, как он попадает в продакшен? Или твой код в продакшен не попадает? Если так, то вопросов больше не имею WH>Его код попадает в такое колличество продакшенов...
Ссылок на success stories не замечено. Активности в гуглгрупс нет. Количество скачиваний в районе нескольких сотен за полтора года. Ссылок в гугле находится в 2 раза меньше, чем на Nemerle.
Как вы определили, что этот код используется в большом кол-ве продакшенов?
Здравствуйте, WolfHound, Вы писали:
T>>А что сделает keyToValMap при обращении по несуществующему ключу: сгенерирует исключение, или вернет null? Если бы там было написано Dictionary<Key,Value>, то у меня такой вопрос бы не возник. WH>А может тебе стоит для начала изучить стандартную библиотеку .NET?
А что не так в его вопросе? У Нashtable-а и Dictionary — разное поведение при чтении несуществующего элемента.
Здравствуйте, Lloyd, Вы писали:
L>А что не так в его вопросе? У Нashtable-а и Dictionary — разное поведение при чтении несуществующего элемента.
Вот именно это и нет так. Там было написано Dictionary, а не Нashtable.
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, mrTwister, Вы писали:
T>>А что сделает keyToValMap при обращении по несуществующему ключу: сгенерирует исключение, или вернет null? Если бы там было написано Dictionary<Key,Value>, то у меня такой вопрос бы не возник. WH>А может тебе стоит для начала изучить стандартную библиотеку .NET?
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Lloyd, Вы писали:
L>>А что не так в его вопросе? У Нashtable-а и Dictionary — разное поведение при чтении несуществующего элемента. WH>Вот именно это и нет так. Там было написано Dictionary, а не Нashtable.
Там написан какой-то "def keyToValMap = Dectionary();" без типов-аргументов, что больше похоже на вызов метода c неграмотным именем и уж совсем не похоже на использование класса Dictionary<Key,Value>
Здравствуйте, mrTwister, Вы писали:
T>Там написан какой-то "def keyToValMap = Dectionary();" без типов-аргументов, что больше похоже на вызов метода c неграмотным именем и уж совсем не похоже на использование класса Dictionary<Key,Value>
А теперь попробуй ответить чем вызов конструктора отличается от вызова метода?
Меня кстати всегда интересовало нафига в C# ключевое слово new ибо оно нафиг не упало.
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>А теперь попробуй ответить чем вызов конструктора отличается от вызова метода? WH>Меня кстати всегда интересовало нафига в C# ключевое слово new ибо оно нафиг не упало.
class SomeClass
{
public boolean Dictionary()
{
return true;
}
....
var dict = Dictionary();
....
}