Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
AndreySeVeN
2 / 2 / 2
Регистрация: 06.06.2014
Сообщений: 156
Записей в блоге: 1
1

Можно ли сократить проверку?

09.07.2015, 14:49. Просмотров 248. Ответов 1
Метки нет (Все метки)

C#
1
if (thisKey == (KeyData.K2) || thisKey == (KeyData.K1 | KeyData.K2) || thisKey == KeyData.K4 || thisKey == (KeyData.K3 | KeyData.K4))
Есть thisKey, он равен K1 или K2 или K3 или K4. Но так же он может быть равен (K1 | K2), (K3 | K4). (Так показано в debugger visual studio: thisKey = K1 | K2 ).

При этом, написать просто if (thisKey == (KeyData.K2)) не работает. Можно ли сделать так, если thisKey содержит K2, то выполнить что нибудь?

C#
1
2
3
4
5
6
7
8
9
[Flags]
    public enum Keys
    {
        None = 0,
        K1 = (1 << 2) | (1 << 0),
        K2 = (1 << 3) | (1 << 1),
        K3 = (1 << 0),
        K4 = (1 << 1),
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2015, 14:49
Ответы с готовыми решениями:

Параллелизм, можно ли сократить код с 24 case
Stopwatch timer = new Stopwatch(); // класс int r = (int)numTask.Value; ...

Как можно сократить и упростить данный код
Всем привет! Появилась отличная идея сделать консольную игру типа 2D головоломки. Создал дизайн...

Можно как-то сократить код с switch case?
Можно как-то сократить следующий код с switch case? switch (labelFileSaved.Text) { ...

LINQ, метод для выгрузки данных из xml-файла: можно ли сократить код
Здравствуйте. Есть класс с полями и свойствами. Данный класс служит для передачи данных в xml...

Можно ли делать проверку через new DirectoryInfo(Path).Exists ?
Метод для проверки: Можно ли использовать данный метод? public static DirectoryInfo DirEx(string...

1
Storm23
Эксперт .NETАвтор FAQ
7032 / 4150 / 1513
Регистрация: 11.01.2015
Сообщений: 5,376
Записей в блоге: 32
09.07.2015, 15:32 2
AndreySeVeN,
C#
1
if((thisKey & Keys.K1) == Keys.K1)...
Или (для FW4 и старше):
C#
1
if(thisKey.HasFlag(Keys.K1))...
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2015, 15:32

Можно ли реализовать доступ к элементу двумерного массива, сняв ограничение на проверку размерности
В Си и Си++ если объявлен 2 мерный массив int buf; то,к 10 элементу можно обращаться...

Можно ли сократить?
И если несложно проверте правильно ли работает а то у меня сомнения вот задание Множество 1...

Можно ли сократить код?
Программа выводит разноцветный график функции y=1-e^-x. Можно ли объединить циклы из 5 в 2(цикл для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru