Случайным образом сгенерированное шестнадцатеричное число в C#

Вы можете форматировать контейнеры, а также диапазоны и кортежи, используя библиотеку {fmt} . Например:

#include 
#include 

int main() {
  auto v = std::vector{1, 2, 3};
  fmt::print("{}", v);
}

печатает

{1, 2, 3}

- stdout.

Отказ от ответственности : я являюсь автором {fmt}.

28
задан shizbiz 28 June 2009 в 02:29
поделиться

3 ответа

static Random random = new Random();
public static string GetRandomHexNumber(int digits)
{
    byte[] buffer = new byte[digits / 2];
    random.NextBytes(buffer);
    string result = String.Concat(buffer.Select(x => x.ToString("X2")).ToArray());
    if (digits % 2 == 0)
        return result;
    return result + random.Next(16).ToString("X");
}
43
ответ дан 28 November 2019 в 02:45
поделиться
    Random random = new Random();
    int num = random.Next();
    string hexString = num.ToString("X");

random.Next () принимает аргументы, позволяющие указать минимальное и максимальное значение, так что вы сможете контролировать длину.

19
ответ дан 28 November 2019 в 02:45
поделиться

Зависит от того, насколько случайный вы хотите, но есть 3 альтернативы: 1) Обычно я просто использую Guid.NewGuid и выбираю его часть (в зависимости от того, какое большое число я хочу).

2) System.Random (см. Другие ответы) хорош, если вы просто хотите «достаточно случайным».

3) System.Security.Cryptography.RNGCryptoServiceProvider

4
ответ дан 28 November 2019 в 02:45
поделиться
Другие вопросы по тегам:

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