Двоичные литералы C#

У меня была такая же проблема. Убедитесь, что вы включили API Google Адресов для Android, а не только API Places в консоли разработчика . «API мест для Android» не будет отображаться под API и amp; Auth / API, потому что это не популярный API (пока). Вам придется искать его с помощью окна поиска API.

175
задан toxvaerd 27 February 2009 в 13:26
поделиться

3 ответа

В то время как не возможное использование Литерала, возможно, BitConverter может также быть решением?

2
ответ дан Michael Stum 4 November 2019 в 16:05
поделиться

Только целое число и шестнадцатеричное число непосредственно, я боюсь (ECMA 334v4):

9.4.4.2 Целочисленных литерала Целочисленные литералы используются для записи значений интервала типов, uint, долго, и ulong. Целочисленные литералы имеют две возможных формы: десятичный и шестнадцатеричный.

Для парсинга можно использовать:

int i = Convert.ToInt32("01101101", 2);
115
ответ дан El Ronnoco 4 November 2019 в 16:05
поделиться

Вы всегда можете создавать квазилитералы, константы, которые содержат значение, которое вам нужно:

const int b001 = 1;
const int b010 = 2;
const int b011 = 3;
// etc ...
Debug.Assert((b001 | b010) == b011);

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

Однако, немного не по теме, если у вас есть какая-либо семантика, связанная с битами (известная во время компиляции), я бы предложил использовать Enum вместо этого:

enum Flags
{ 
    First = 0,
    Second = 1,
    Third = 2,
    SecondAndThird = 3
}
// later ...
Debug.Assert((Flags.Second | Flags.Third) == Flags.SecondAndThird);
22
ответ дан 23 November 2019 в 20:24
поделиться
Другие вопросы по тегам:

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