堆/缓冲区溢出异常
只是好奇,是否有人遇到过 C# 中的堆/缓冲区溢出异常?
Just curious, Is there or has anyone ever come across a heap / buffer overflow exception in C#?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
只是好奇,是否有人遇到过 C# 中的堆/缓冲区溢出异常?
Just curious, Is there or has anyone ever come across a heap / buffer overflow exception in C#?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
您可能会在 C# 中的不安全代码中导致缓冲区溢出。例如:
上面将打印“99”,因为它溢出了缓冲区。
如果没有不安全的代码,我不知道有什么方法可以导致缓冲区溢出而不触发异常。
You can cause a buffer overflow in C# in unsafe code. For example:
The above will print "99" because it overflowed the buffer.
Absent unsafe code, I do not know of any way to cause a buffer overrun that doesn't trigger an exception.
根据缓冲区溢出的含义,IndexOutOfRangeException 是由溢出引起的异常。您可以通过访问超出其分配大小的数组索引来相当轻松地获得它。同样,进行足够的递归,您可能会得到 StackOverflowException。我不确定你在寻找什么,所以你可能想澄清一下。
Depending on what you mean by Buffer overflow, an IndexOutOfRangeException is an exception caused by overflow. You can get it rather easily by accessing an array index beyond its allocation size. Similarly do enough recursion and you can get StackOverflowException. I am not sure about what you're looking for, so you might want to clarify.