#C#

Интересная особенность конструкции foreach в языке C#

Published at February 9, 2011 ·  2 min read

При написании кода на языке C# достаточно часто приходится использовать конструкцию foreach. Ведь так на много удобнее проходить по коллекциям, по сравнению с использованием цикла for. Безусловно, у каждого метода есть свои плюсы и минусы и выбор всегда зависит от конкретной задачи и ситуации. Но на днях меня удивила одни интересная особенность конструкции foreach, а именно то, как это работает. Рассмотрим простой пример: У нас есть некая коллекция элементов и с помощью **foreach **мы выводим на консоль имена всех элементов....


Приведение типов в C# 2.0

Published at January 17, 2008 ·  1 min read

Приведение типов на практике встречается довольно часто. Из-за того, что в языке C# существует два оператора, позволяющих решить эту задачу, время от времени возникают InvalidCastException. Остановимся на этих операторах подробнее. 1. () оператор. На уровне IL-кода генерирует вызов функции castclass Выдержка из msdn: A cast explicitly invokes the conversion operator from one type to another; the cast fails if no such conversion operator is defined. Оператор можно использовать только в том случае, если это предусмотрел разработчик....


Tags

.net .net-framework .net-framework-3.5 agile ajax ajax-control-toolkit ampq ansible apache asp.net asp.net-mvc automation axum babel bash benchmark blog blog-engine bootstrap buildout c# cache centos chrome ci cinder ckan cli cloud code-review codeplex community config debugger deface dependencies development-environment devices devstack devtime disks django dlr dns docker dockerimage dos easy_install elmah encoding environment-variables error event events everything-as-a-code exception exceptions fabrik firefox flask foreach forms gae gcc gerrit git github go google google-app-engine grep hack hacked hardware headless horizon hound html hugo iaas ienumerable iis internet iptables iron-python ironic iscsi java-script javascript jenkins jquery js jsx kharkivpy kiss kombu kvm kyiv lettuce libvirt linux lio loci logging loopback losetup lvm mac-os mercurial microsoft microsoft-sync-framework mobile mono ms-office msbuild networking news nginx npm npx offtopic open-source open-xml opensource openstack openvswitch os packages paraller-development patterns--practices php pika pip plugins pnp podcast popup postgresql profiler project protocols pycamp pycharm pycon pykyiv pylint pypi python python-3 qcow quantum qumy rabbitmq rar react reactjs refactoring rfc rhel search-engine security selenium server shell silverlight socket software-engineering source-control sourcegear-vault sources sql sql-server sql-server-express sqlalchemy ssh svg tests tgt tipfy tornado typescript uapycon ui uneta unit-tests usability virtualenv visual-studio vitrage vm vue.js vuejs web-development web-server web-service web_root webpack webroot windows windows-live word-press x32 x64 xcode xml xss xvfb интернет-магазин книги


Archives

2019 (37)
2018 (2)
2017 (3)
2016 (2)
2015 (3)
2014 (5)
2013 (17)
2012 (22)
2011 (35)
2010 (25)
2009 (35)
2008 (32)
2007 (2)