Отправляет email-рассылки с помощью сервиса Sendsay

Финансы. Инструкция

  Все выпуски  

Уроки по C# и .NET. Урок 70. Использование атрибута Flags для перечисления 2


Уроки по C#. Рассылки сайта progs.biz
Выпуск № 107
 
Начало > C# > Основы > Урок 70

Чарльз Петцольд. Программирование с использованием Microsoft Windows Forms
Чарльз Петцольд. Программирование с использованием Microsoft Windows Forms
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 70.

Основы C#
Урок 70. Использование атрибута Flags для перечисления 2

Одна из часто встрчающихся задач для перечисления с атрибутом Flags - это выяснение, присутствует ли некое значение перечисления в соотвествующей переменной. Например

Вот пример такого кода:

// Объявление перечисления.
[Flags()]
public enum MilitaryType
{
    Marine = 1,
    Land = 2,
    Cosmic = 4,
    MarineAndLand = Marine | Land
}
class Program
{
    static void Main(string[] args)
    {
        MilitaryType type = MilitaryType.MarineAndLand;
        // Содержится ли в переменной значение MilitaryType.Marine?
        if ((type & MilitaryType.Marine) == MilitaryType.Marine)
        {
            Console.WriteLine("Marine");
        }
        else {
            Console.WriteLine("Isn't marine");
        }
        // Содержится ли в переменной значение MilitaryType.Cosmic?
        if ((type & MilitaryType.Marine) == MilitaryType.Cosmic)
        {
            Console.WriteLine("Cosmic");
        }
        else
        {
            Console.WriteLine("Isn't cosmic");
        }
        // Содержится ли в переменной значение MilitaryType.MarineAndLand?
        if ((type & MilitaryType.MarineAndLand) == MilitaryType.MarineAndLand)
        {
            Console.WriteLine("MarineAndLand");
        }
        else
        {
            Console.WriteLine("Isn't marine or land");
        }
    }
}

Как вы видите, мы тут используем побитовое И. Для данного фрагмента на экране выведется два положительных ответа (для первой и последней проверки) и один отрицательный (для второй проверки).

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


Parking.ru. Качественный виртуальный хостинг на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый выделенный хостинг на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2007 сайт progs.biz
© 2002-2007 Игорь Алексеев

В избранное