相关疑难解决方法(0)

垃圾收集如何决定变量的生成

我知道GC有3(0,1,2)代,但我想知道GC如何决定变量的生成?

我认为所有变量都进入第0代,经过一段时间后转移到第1代和第2代.对于GC来说,决定生成是否重要?

PROGRAM1:

private static void Main(string[] args)
{
        int a = 0;
        string name = "Test";
        var byteArray = new byte[10];
        byteArray[4] = 4;

        Console.WriteLine($"Generation of array {GC.GetGeneration(byteArray)}");
        Console.WriteLine($"Generation of local int variable {GC.GetGeneration(a)}");
        Console.WriteLine($"Generation of local string variable {GC.GetGeneration(name)}");
}
Run Code Online (Sandbox Code Playgroud)

结果

Generation of array 0
Generation of local int variable 0
Generation of local string variable 0
Run Code Online (Sandbox Code Playgroud)

程序2:

private static void Main(string[] args)
{
        int a = 0;
        string name = "Test";
        var byteArray = new byte[100000000];
        byteArray[4] …
Run Code Online (Sandbox Code Playgroud)

c# garbage-collection memory-management

1
推荐指数
1
解决办法
682
查看次数

标签 统计

c# ×1

garbage-collection ×1

memory-management ×1