If object array is still alive

image_pdfimage_print

using System;
using System.Collections.Generic;
using System.Text;

public class Car {
private int currSp;
private string petName;

public Car() { }
public Car(string name, int speed) {
petName = name;
currSp = speed;
}

public override string ToString() {
return string.Format(“{0} is going {1} MPH”,
petName, currSp);
}
}
class Program {
static void Main(string[] args) {
Car refToMyCar = new Car(“Zippy”, 100);
Console.WriteLine(refToMyCar.ToString());

Console.WriteLine(”
Generation of refToMyCar is: {0}”, GC.GetGeneration(refToMyCar));

object[] tonsOfObjects = new object[50000];
for (int i = 0; i < 50000; i++) tonsOfObjects[i] = new object(); GC.Collect(0); GC.WaitForPendingFinalizers(); Console.WriteLine("Generation of refToMyCar is: {0}",GC.GetGeneration(refToMyCar)); if (tonsOfObjects[9000] != null) { Console.WriteLine("Generation of tonsOfObjects[9000] is: {0}",GC.GetGeneration(tonsOfObjects[9000])); } else Console.WriteLine("tonsOfObjects[9000] is no longer alive."); } public static void MakeACar() { Car myCar = new Car(); } } [/csharp]