C# 堆/缓冲区溢出异常

C# 堆/缓冲区溢出异常,c#,exception,buffer-overflow,C#,Exception,Buffer Overflow,好奇的是,在C#中是否有或是否有人遇到过堆/缓冲区溢出异常?根据缓冲区溢出的含义,IndexOutOfRangeException是由溢出引起的异常。通过访问超出其分配大小的数组索引,可以很容易地获得它。同样地,做足够多的递归,就可以得到StackOverflowException。我不确定您在寻找什么,所以您可能需要澄清。在不安全的代码中,您可能会导致C#中的缓冲区溢出。例如: public unsafe struct testo { public int before; pu

好奇的是,在C#中是否有或是否有人遇到过堆/缓冲区溢出异常?

根据缓冲区溢出的含义,IndexOutOfRangeException是由溢出引起的异常。通过访问超出其分配大小的数组索引,可以很容易地获得它。同样地,做足够多的递归,就可以得到StackOverflowException。我不确定您在寻找什么,所以您可能需要澄清。

在不安全的代码中,您可能会导致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);
公共不安全结构testo
{
公共int之前;
公共固定整数项目[16];
公共int之后;
}
testo x=新的testo();
x、 之后=1;

对于(int i=0;我本以为在使用
COM Interop
而不是纯.NET开发时会发生这些类型的错误?有人知道我的想法是否正确吗?你是在谈论.NET中的
托管堆吗?这真的是一个“好奇”吗问:在这种情况下,我投票关闭它。我们每个人都有很多问题“好奇”,但它们并不都是值得回答的。另一方面,如果你真的遇到了这样一个例外,需要处理它,我们可以交谈。我正在寻找纯.NET。我已经使用C++导致缓冲区溢出。(很久以前不确定今天是否适用)。这与OWASP或其他类型的安全审计有关吗…?与OWASP无关。我以前有过一个stackoverflow异常,我想知道一些对象是如何存储在堆栈中的,一些存储在堆中的,只是好奇它们在C#中是否是堆/缓冲区溢出异常。我在谷歌上搜索了它,但找不到任何答案。