Skip to content
Manuel Zarat edited this page Jan 26, 2026 · 10 revisions

DateTime

var Console  = clr("System.Console", false);
var DT = clr("System.DateTime", false);
Console.WriteLine(DT.Now.ToString("dd.MM"));

Base64

var Console = clr("System.Console", []);
var Convert = clr("System.Convert", []);
var b64 = Convert.ToBase64String([ 'h', 'e', 'l', 'l', 'o' ]);
Console.WriteLine(b64);

BitConverter

var Console;
var Convert;
var Utf8;
var BitConverter;

function main()
{
    Console = clr("System.Console", []);
    Convert = clr("System.Convert", []);          
    Utf8 = clr("System.Text.UTF8Encoding", []); 
    BitConverter = clr("System.BitConverter", []);    

    // string -> byte[]
    var bytes = Utf8.GetBytes("hello");

    // byte[] -> base64
    var b64 = Convert.ToBase64String(bytes);
    Console.WriteLine(b64); // aGVsbG8=

    // base64 -> byte[]
    var plainBytes = Convert.FromBase64String(b64);

    Console.WriteLine(BitConverter.ToString(plainBytes)); // 68-65-6C-6C-6F

    // byte[] -> string
    var plain = Utf8.GetString(plainBytes);
    Console.WriteLine(plain); // hello
}

Path

var Console = clr("System.Console", []);
var Path = clr("System.IO.Path", []);
Console.WriteLine(Path.Combine(["C:\\temp", "a.txt"]));

List

var Console = clr("System.Console", []);
var List = clr("System.Collections.Generic.List`1[System.String]", []);
List.Add("a");
List.Add("b");
Console.WriteLine(List.get_Item(0));

Directory

var Console = clr("System.Console", []);
var Directory = clr("System.IO.Directory", []);
Console.WriteLine(Directory.Exists("C:\\temp"));

FileInfo/DirectoryInfo

var FileInfo = clr("System.IO.FileInfo", ["C:\\temp\\qrcode.png"]);
Console.WriteLine(FileInfo.Length.ToString());

StringBuilder

var Console = clr("System.Console", []);
var SB = clr("System.Text.StringBuilder", []);
SB.Append("Hi ");
SB.Append("Manuel");
Console.WriteLine(SB.ToString());

Regex

var Console = clr("System.Console", []);
var Regex = clr("System.Text.RegularExpressions.Regex", []);
var r = clr("System.Text.RegularExpressions.Regex", ["\\d+"]);
Console.WriteLine(r.IsMatch("abc123"));

StopWatch

var Console = clr("System.Console", []);
var SW = clr("System.Diagnostics.Stopwatch", []);
SW.Start();
Console.WriteLine("work...");
SW.Stop();
Console.WriteLine(SW.ElapsedMilliseconds.ToString());

Dictionary

var Console;
var Dict;

function main()
{
    Console = clr("System.Console", []);
    Dict = clr("System.Collections.Generic.Dictionary`2[System.String,System.Object]", []);

    // hinzufügen
    Dict.Add("a", 1);
    Dict.Add("b", "hello");

    // lesen
    Console.WriteLine(Dict.get_Item("a"));
    Console.WriteLine(Dict.get_Item("b"));

    // überschreiben
    Dict.set_Item("a", 99);
    Console.WriteLine(Dict.get_Item("a"));

    // exists?
    Console.WriteLine(Dict.ContainsKey("a")); // true
    Console.WriteLine(Dict.ContainsKey("x")); // false

    // löschen
    Dict.Remove("a");
    Console.WriteLine(Dict.ContainsKey("a")); // false
}

HashTable

var Console;
var Map;

function main()
{
    Console = clr("System.Console", []);
    Map = clr("System.Collections.Hashtable", []);

    // hinzufügen
    Map.Add("a", 1);
    Map.Add("b", "hello");

    // lesen
    Console.WriteLine(Map.get_Item("a"));
    Console.WriteLine(Map.get_Item("b"));

    // überschreiben
    Map.set_Item("a", 42);
    Console.WriteLine(Map.get_Item("a"));

    // exists?
    Console.WriteLine(Map.ContainsKey("a")); // true
    Console.WriteLine(Map.ContainsKey("x")); // false

    // löschen
    Map.Remove("a");
    Console.WriteLine(Map.ContainsKey("a")); // false
}

Cryptography

function main()
{
    var keyPair = createNew();
	var pub = createFromImported(keyPair.privateKey);
	
	var Console = clr("System.Console", false);
	Console.WriteLine(pub);
	
}

function createFromImported(privateKey)
{
    var Console = clr("System.Console", false);
    var Crypt = clr("System.Security.Cryptography.RSACryptoServiceProvider", [2048]);
	var Convert = clr("System.Convert", false);
	
	Crypt.ImportCspBlob(Convert.FromBase64String(privateKey));
	
	return Convert.ToBase64String(Crypt.ExportCspBlob(false));
}

function createNew()
{
    var Console = clr("System.Console", false);
    var Crypt = clr("System.Security.Cryptography.RSACryptoServiceProvider", [2048]);
	var Convert = clr("System.Convert", false);
	
	var pub = Convert.ToBase64String(Crypt.ExportCspBlob(false));
    var pri = Convert.ToBase64String(Crypt.ExportCspBlob(true));
    
	return { "publicKey": pub, "privateKey": pri };
}

Clone this wiki locally