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

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

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

bool? - тоже вариант, но читается хуже.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 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...

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

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

Похожие вопросы