请问大佬我这输出的为什么是0

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;//该命名空间内含有stopwatch函数;

namespace stopwatch的使用
{
    /// <summary>
    /// 该程序主要用于练习stopwatch的使用;
    /// </summary>
    class Program
    {/// <summary>
    /// 函数要开始了;
    /// </summary>
    /// <param name="args"></param>
        static void Main(string[] args)
        {
            long i;
            Stopwatch time = new Stopwatch();
            time.Start();//该函数表示计时开始;
            for(i=1;i<=100000;)
            {
                i++;
            }
            time.Stop();/*该函数表示计时停止
                         * (如果此时继续使用start()函数,则计时将继续,
                         * 最后的时间为两次的累积*/
            long num = time.ElapsedMilliseconds ;/*该函数用于获取运行的时间
                                                 * 因为该函数是以毫秒来计时的
                                                 * 故用long来储存*/
            time.Reset();//该函数表示计时清零;
            Console.WriteLine("{0}", num);
            Console.ReadLine();
        }
    }
}

time.ElapsedMilliseconds;返回的单位是毫秒,用整形long进行存储,然后循环100000次,又不及一秒,我猜测就是这样转换为0了。循环次数你加多几个0,输出的num就不是0了。