C# System.Threading.Timer仅触发一次

C# System.Threading.Timer仅触发一次,c#,multithreading,C#,Multithreading,使用下面的代码,计时器只触发一次。我错过了什么 public static List<string> Test = new List<string> { "TEST1", "TEST2" }; public static void Start() { var t = new System.Threading.Timer(o => { foreach (var item in Test) { C

使用下面的代码,计时器只触发一次。我错过了什么

public static List<string> Test = new List<string> { "TEST1", "TEST2" };

public static void Start()
{
    var t = new System.Threading.Timer(o =>
    {
        foreach (var item in Test)
        {
            Console.WriteLine("Say hello!"); 
        }
    }, null, 0, 1250);
}
publicstaticlist Test=新列表{“TEST1”、“TEST2”};
公共静态void Start()
{
var t=新系统.线程.计时器(o=>
{
foreach(测试中的var项目)
{
Console.WriteLine(“打招呼!”);
}
},空,0,1250);
}

在计时器再次启动之前,GC正在收集计时器。
您需要将其存储在字段中以保持其活力