Вы можете вызвать переполнение буфера в C # в небезопасном коде. Например:
public unsafe struct testo
{
public int before;
public fixed int items[16];
public int after;
}
testo x = new testo();
x.after = 1;
for (int i = 0; i <= 16; ++i)
{
unsafe
{
x.items[i] = 99;
}
}
Console.WriteLine(x.after);
Выше будет напечатано «99», потому что оно переполнило буфер.
Отсутствует небезопасный код, я не знаю ни одного способа вызвать переполнение буфера, которое не вызывает исключение.