Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 08.10.2012
Сообщений: 43

Обход полей класса

24.03.2016, 12:37. Показов 1191. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые форумчане, подскажите как решить такую ситуацию наиболее верным способом...
Имеется класс с полями типа int, которые принимают значения 0 или 1. Также имеется массив с именами файлов типа string[]. Необходимо выбрать файлы в соответствии с теми полями класса, которые принимают 1 или не представляют пустую строку. Т.е. если Extension != "" , то выбрать файлы со значениями extension, далее из выбранных файлов найти файлы со значением Name, далее уже из этих файлов, если значение Text = 1 выбрать по раннее заданному критерию файлы, если нет то в соответствии с полем Hex и т.д. При этом учитывать все варианты присутствия 1 и 0 в полях. Предполагаю, что можно if и else'ми, но мне кажется слишком много вариантов нужно описывать, если ли способ менее затратный? Заранее спасибо!
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Priznak
    {
        public string Name { get; set; }
        public string Extension { get; set; }
        public int Text { get; set; }
        public int Hex { get; set; }
        public int Other { get; set; }
 
public void EnumeratePriznak(Priznak priznak, string[] files)
        {
            foreach (string file in files)
            {
                if (file.Split('\\').Last().Split('.').Last().Equals(priznak.Extension))
                {
                    // предполагаю таким макаром...
                }
            }
        }
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2016, 12:37
Ответы с готовыми решениями:

Присваивание полей класса
Проблема проста: нужно присвоить значение поля класса другому полю. Не адрес, а именно значение. Если использовать обычное присваивание, то...

Заполнение полей класса
Всем привет, речь идет об обновлений строк бд в проекте LinqToSQL. Т.е. есть сама база и обертка над ней, для упрощения работы, проблемное...

Перебор полей класса
Добрый день! Вопрос от начинающего. У меня есть экземпляр класса. В нем есть несколько полей. И у меня вопрос могу ли я проходить циклом по...

3
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
24.03.2016, 12:53
Цитата Сообщение от Grigorich6 Посмотреть сообщение
которые принимают значения 0 или 1.
а bool нельзя использовать?

Name я так понимаю содержат полные имена файлов?

А дальше ваще ничего непонятно:
Цитата Сообщение от Grigorich6 Посмотреть сообщение
. Т.е. если Extension != "" , то выбрать файлы со значениями extension, далее из выбранных файлов найти файлы со значением Name, далее уже из этих файлов, если значение Text = 1 выбрать по раннее заданному критерию файлы, если нет то в соответствии с полем Hex и т.д. При этом учитывать все варианты присутствия 1 и 0 в полях. Предполагаю, что можно if и else'ми, но мне кажется слишком много вариантов нужно описывать, если ли способ менее затратный?
???????

Что Вы хотите получить в итоге?
0
 Аватар для Hastin
40 / 32 / 7
Регистрация: 24.03.2016
Сообщений: 270
24.03.2016, 16:14
Прописывать всё через if(){}else{}, по другому никак. Вы же сами пишете столько раз слово "Если". Налаживаете условия и всё, код будет не маленьким, но работать он будет быстро. Это будут элементарные условия, ИМХО. А затраты будут, разве что вашего времени на написание.
0
0 / 0 / 1
Регистрация: 08.10.2012
Сообщений: 43
24.03.2016, 16:22  [ТС]
Спасибо, в принципе так и планировал, просто думал, возможно есть еще способы... Но все равно спасибо))

Добавлено через 1 минуту
насчет була я в курсе, но вопрос просто стоял о реализации обхода, просто про бул не стал писать уже, спасибо, за заметку)

Добавлено через 2 минуты
Думаю дальнейшее обсуждение темы бессмысленно... Тему можно закрывать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.03.2016, 16:22
Помогаю со студенческими работами здесь

Заполнение полей класса из файла
Имеется класс. Необходимо считать значения из файла и просвоить каждому конкретному полю (образец файла в конце). delegate void...

Изменение значения полей класса
Приветствую, путник! Есть класс: public class A; { public string B; public A(b) { ...

Область видимости полей класса
Добрый день! Подскажите, есть ли способ расширить класс дополнительными полями так, чтобы эти поля не были видны во всем солюшене? Например...

Ошибка при инициализации полей класса
Помогите найти ошибку. Делаю игру 21. Инициализирую массив классов значениями. Но вылетает ошибка. Код прилагается. Заранее...

Ошибка во время инициализации полей класса
Здравствуйте. Имеется класс: namespace MyApplication { public class Engineer: WhiteCollarWorker { public int...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru