代码之家  ›  专栏  ›  技术社区  ›  Sergio Tapia

在C中,最简单的方法是什么?从内存中获得例外?

  •  30
  • Sergio Tapia  · 技术社区  · 14 年前

    只是好奇我怎样才能以最简单的方式得到这个错误。

    有一次我试图创建一个文件导航器,我创建了一个图像缩略图,结果很糟糕。

    6 回复  |  直到 10 年前
        1
  •  141
  •   EgorBo    14 年前
    void Foo()
    {
       throw new OutOfMemoryException();
    }
    

    ())

        2
  •  5
  •   Arseni Mourzenko    14 年前

    创建一个非常非常大的字符串。可能:

    string s = new string('a', int.MaxValue);
    

    就够了。

    如果不是,您可以将其具体化以构建更大的字符串。

    string ss = string.Concat(s, s);
    
        3
  •  4
  •   Mau    14 年前
    for(var s=" ";;s+=s);
    
        4
  •  4
  •   Danny Beckett    12 年前

    这确实会引发 OutOfMemoryException :

    string s = " ";
    while (true) s += s;
    
        5
  •  3
  •   Bryan Legend    13 年前
    var x = new long[Int32.MaxValue];
    

    这应该可以做到。

        6
  •  2
  •   Danny Beckett    12 年前

    您可以使用:

    new int[(ulong)-1];