Astuces CSharp

De Banane Atomic
Aller à la navigationAller à la recherche

Écrire les entiers dans différentes bases (binary, hexa)

Csharp.svg
int d = 10;
int h = 0xa;
int b = 0b1010;

// pour améliorer la lisibilité, un entier peut contenir des _
int dd = 10_000;
int bb = 0b1010_1010;

// convert from one base system to another
Convert.ToString(3, 2); // 3 → 11
Convert.ToInt32("11", 2); // 11 → 3

Random

Csharp.svg
// .NET 6
int i = Random.Shared.Next(10);       // un entier au hasard entre 0 et 9
int j = Random.Shared.Next(5, 10);    // un entier au hasard entre 5 et 9

bool b = Random.Shared.Next(2) == 0;  // un booléen

// old
var rnd = new Random();

int i = rnd.Next(10);       // un entier au hasard entre 0 et 9
int j = rnd.Next(5, 10);    // un entier au hasard entre 5 et 9

bool b = rnd.Next(2) == 0;  // un booléen

Base64

Csharp.svg
string plainText = "text";
byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText);
string base64EncodedData = Convert.ToBase64String(plainTextBytes);

byte[] base64EncodedBytes = Convert.FromBase64String(base64EncodedData);
string plainTextDecoded = Encoding.UTF8.GetString(base64EncodedBytes);

// add missing =
var fixedBase64EncodedData = base64EncodedData.PadRight(4 * ((encryptedUsername.Length + 3) / 4), '=');