Как я могу сделать Uint32 в F #? - PullRequest
0 голосов
/ 11 января 2020

У меня есть. NET API, от RabbitMQ, который принимает uint32

метод:

void BasicQos(uint prefetchSize, ushort prefetchCount, bool global);

в C#:

channel.BasicQos(0, 1, false);

но в F # эта же строка дает:

[FS0001] Ожидается, что это выражение будет иметь тип 'uint32', но здесь имеет тип 'int'

, но Я не могу понять, как объявить число без знака в F #; Как я могу это сделать?

UInt32 и UInt32Converter существуют, но я не мог понять, как я мог бы использовать их для преобразования / приведения, и т.д. c.

1 Ответ

3 голосов
/ 11 января 2020

Посетите страницу документации по литералам здесь , но краткая форма заключается в том, что вам нужен суффикс u: 0u - это 32-разрядный целочисленный ноль без знака. Вы также можете использовать функцию uint32 для преобразования 32-разрядного целого числа со знаком в 32-разрядное целое число без знака, но это будет работать во время выполнения, а не во время компиляции.

...