Массив types
каждого компонента указывает тип этого компонента (конечно!) И всегда будет содержать строку «страна» для страны. Поэтому вы можете найти правильный элемент в массиве на основе этого. Что-то вроде следующего должно быть достаточно:
const country = address_components.find((component) =>
component.types.includes('country')
).long_name;
Это находит компонент, который имеет тип «страна», затем берет long_name
этого компонента.
Я предложил бы, чтобы Вы использовали имя, которое указывает на Значение, которое установлено к Да или Нет.
НАПРИМЕР.
public enum Married
{
YES,
NO
}
Используйте bool, объединенный с bool. TrueString и bool. FalseString в целях дисплея.
EUserAction?
Вы описали это как некоторое пользовательское действие. Вы могли также быть более конкретными, все же. Имя допускает некоторые дополнительные варианты в будущем. (Имя должно быть тем, что выбор для, не, что выбор),
Однако для Ваш другого, тонкого вопроса:
потому что они будут видеть, что это распечатало в других контекстах, и я хотел бы, чтобы это было более очевидным, каков выбор был.
не должно действительно иметь значения, что видит пользователь. Модель данных может очень отличаться от того, что Вы представляете пользователю. bool был бы достаточен. Существует ли возможность для дополнительных действий в будущем?
Есть ли любая возможность для того, чтобы иметь опцию кроме да/нет. Всего для 2 палок опции с булевской переменной. Попытайтесь изменить одну только область дисплея
(Юмор - не относитесь к этому серьезно...),
Я удивлен ничей предложенный это все же:
public enum UserWtf
{
No,
Yes,
FileNotFound
}
Я считал Ваше обновленное объяснение, но я все еще чувствую, что это - плохой выбор. Булевские переменные существуют точно с этой целью. Это - Ваша обязанность гарантировать, что, когда "они будут видеть, это распечатало в другом содержании" соответствующий текст, производится. Это могло быть столь же просто как:
Консоль. WriteLine (_ ("Используя нечто":) + (useFoo? _ ("да"): _ ("нет")));
при тихом наличии полной поддержки локализации. useFoo является, конечно, параметром, говоря функцию, использует ли это нечто.:)
_ коротко для функции gettext (http://www.gnu.org/software/gettext/), который доступен для C# (http://www.gnu.org/software/automake/manual/gettext/C_0023.html).
Я не вижу точку этого перечисления, если не были некоторые другие значения помимо Да и номера. Это - просто bool. И создание перечисления именно так Вы не должны выводить да, или не кажется довольно глупым.
Или просто используйте булевскую переменную.
Я думаю, что YesNo очень хорошо. Рассмотрите вещи как "MB_OK" и "MB_YESNO"... Я знаю, что это не тип, но что-либо, что это очевидно, должен быть прекрасным.
Я не использовал бы перечисление вообще, просто самокрутка typeconverter и булевские переменные использования.
Я хотел бы назвать его:
enum Boolean
{
Yes,
No
}
Нет, ожидайте, уже существует созданный в булевом типе, который можно использовать.
Если Ваша единственная причина использования перечисления вот состоит в том, потому что существует удобное преобразование в строку, которую Вы хотите показать пользователю, то Вы собираетесь быть укушенными очень плохо вниз дорожка, поскольку Вы делаете более сложные вещи. Разделение модели от представления будет сервер Вы хорошо. Читайте на MVC и/или шаблонах MVVM.
Я мог бы также предположить, что простая булевская переменная с некоторыми пользовательскими атрибутами, которые определяют строки дисплея для использования вместо "истинного" и "ложного", могла бы быть достаточной здесь. Можно затем записать собственное для строкового представления методов, которые ищут пользовательские атрибуты.
ResponseEnum или EResponse или UserResponse в зависимости от Ваших конвенций.
Я не ограничил бы себя только Да или No как в будущем, можно хотеть добавить функциональность, которая потребовала Неуверенного ответа также.
Я предполагаю, что существует проблема с отображением bool значения. Лучше создать простую обертку, которая хранит булевскую переменную, разрешающую Вам отобразить их как Да/Нет или Истинный/Ложный.
Я был бы смущен для наблюдения перечисления, используемого для булевской переменной. Вы говорите что:
Примечание: Да, я мог сохранить их как bool (это - то, как это раньше работало). Мое проектное решение должно быть явным о Да/Нет выбор, сделанный пользователем, потому что они будут видеть это
распечатанный в другом содержании и я хотел бы, чтобы это было более очевидным, каков выбор был.
Мне не удается видеть, как "Да" или "Нет" являются больше "явными", чем TRUE или FALSE.
Вы говорите, что не хотите использовать bool, потому что он будет распечатан для пользователя для наблюдения среди другого содержания. Это предполагает, что проблема не находится в устройстве хранения данных, а в дисплее. Любой ценой существующий истинный/ложный как Да/Нет, но нет никакой потребности создать совершенно новый тип для него IMO.
Править: В дополнение к предложению Вы не используете перечисление во-первых, я настоятельно рекомендовал бы, чтобы при использовании перечисления Вы изменили порядок или использовали явные значения. Имея Yes=0, No=1 будет действительно сбивать с толку, если Вы когда-нибудь закончите тем, что рассматривали значения как целые числа.