Hereigo
@Hereigo
Пишу на C# + Asp.Net (MVC) + .Net Core

В каком типе переменной хранить (м\ж) пол?

В каком типе переменной хранить пол, bool, enum (перечисление), другие варианты? И почему?
Пишу на C# и вроде бы запросто можно изпользовать булево :) Но посоветовался с опытным 1С-ником, а он говорит, что ни в коем случае!!! Что в 1С и пол и Юр.Лицо\Физ.Лицо и прочие подобные параметры - это перечисления из 2 значений. Но разве не проще:
bool isWoman = true (or false) ;
???
Заранее, спасибо всем, кто адекватно ответит!
  • Вопрос задан
  • 4971 просмотр
Решения вопроса 2
@Free_ze
Пишу комментарии в комментарии, а не в ответы
ИМХО, расточительно делать отдельную таблицу под пол. Отлично подойдет (если не уходить в дебри человеческих отклонений):
enum Sex { 
    Male,
    Female,
    Undefined
}

bool? - тоже вариант, но читается хуже.
Ответ написан
Комментировать
@AndrewJonson
Я программист 1С
Женщина <> Не мужчина
Если у вас уже есть справочник людей и в нем есть данные и вы решили добавить поле "пол", то по вашей логике все станут мужчинами (при условии что по дэфолту бутет ложь)? Лучше создавать отдельную таблицу со значениями.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
petermzg
@petermzg
Самый лучший программист
По причине сумасшествия в современном обществе, "пол" лучше хранить в int и для значений использовать отдельную таблицу.
Ответ написан
polyanin
@polyanin
Golang, PHP & Symfony developer
Международный стандарт ISO 5218 описывает представление человеческих полов. Он может быть использован в информационных системах и базах данных.

4 кода, определённых в спецификации стандарта, выглядят, как:

0 — неизвестно
1 — мужчина
2 — женщина
9 — неприменимо

https://ru.wikipedia.org/wiki/ISO_5218
Ответ написан
Комментировать
nki
@nki
bezkart.ru готовая система лояльности
1C-ник правильно вам сказал - для таких случаев в 1С используются перечисления. Так проще сопровождать. Не придется разбираться кто есть кто - мужчина или женщина.
Ответ написан
@iv_k
как это делает фейсбук

www.independent.ie/business/technology/facebook-ad...

скоро и инта может стать мало =)
Ответ написан
Для гибкости (и по идеологии шарпа) можно сделать структурой, инкапсулирующей этот Int32/Nullable/Enum и т.д., умеющий в конвертирование из разных представлений, выдачу локализованных названий полов, сериализацию и прочие полезные вещи.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы