3) Б, благодаря оптимизации компилятором. Он распознает такой паттерн и генерирует для него оптимальный код.
4) Оба операнда могут быть равны null для ссылочных типов.
6) Есть, если использовать GetInvocationList у MulticastDelegate и делать вызовы самому чере foreach -> Invoke.
А вот так нельзя разве?
int x = 0;
Single y = (Single)x;
или Single y = x as Single;
На сколько я помню, даже если не определен такой преобразователь, компилятор найдет подходящую цепочку, например сначла в Доубл а затем уже в Синг
Я догадался, потому что это было бы слишком просто.
На самом деле, насколько я понимаю, задания ограничения с помощью where перекладывает часть проверок на CLR, в то время, как во втором случае проверка корректности целиком делается компилятором.
Это только мои догадки, сделанные на основании того, что вызов первого метода медленее, чем второго.
1) реализует, вопрос некорректный
2) не выполните, вопрос некорректный
3) А, если придираться к мелочам
4) проще ответить что у них общего. если не учитывать, что второе — хрень какая-то.
5) потому что метода ToSingle() — нету, потому и падает
6) ответили
7) нет такого в спецификации имхо
1) Простите, это парсер съел…
2) Почему не выполнится?
3) Эти мелочи могут дорого стоить…
4) ммм… Почему хрень?
5) Как это нету, если интерфейс реализуется…
7) есть…
1) Простите, это парсер съел…
2) Почему не выполнится?
3) Эти мелочи могут дорого стоить…
4) ммм… Почему хрень?
5) Как это нету, если интерфейс реализуется…
7) есть…
Как видно, функция не является публичной, а значит доступа к ней нет. Однако, интерфейс реализуется, и в случае явного приведения объекта — мы получаем доступ к приватным функциям, которые определены таким образом.
Просто в большинстве случаев программисты на C# реализуют интерфейсы неявно, отсюда и вопросы.
2) ну я вроде не новичок, но скомпилировать это мне не под силу
3) вот в конкретно этом случае — по барабану. если бы был какой-нить долгий arr.GetMyLength(), то был бы понятнее вопрос
4) вы очень быстро исправляете. серьезно — вопрос же общий. начиная от синтаксиса и до общения с переменной t внутри метода. а самим методы могут и одинаково работать. и снаружи даже и не заметишь
5) ну нету. а какой интерфейс его предлагает?
7) ну скажите пункт тогда
Короче, первый вопрос — непонятно, что имеется ввиду вообще, второй вопрос — не нашел, четвертый — они принципиально разные, одно дело — вызов метода, и другое — вызов генерика с констраинтом, что надо там найти — непонятно. Остальное ответил.
Вопросы по .NET №2