为什么我的线程在“Main”中的任何内容都可以运行之前退出



我有一个简单的控制台应用程序

using System;
using System.Drawing;
using System.Windows;
using System.Windows.Media;
namespace ConsoleApplicationFont
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("At least we got here");//TEST
            try
            {
                var FF = new FontFamily();
                foreach (var item in FF.FamilyNames.Keys) 
                    Console.WriteLine(item.ToString());
            }
            catch ( Exception e )
            {
                Console.WriteLine("Error: {0}", e.Message);
            }
        }
    }
}

目前正在输出

线程0x1b9c已退出,代码为 259 (0x103)。线程0x2438 已退出,代码为 0 (0x0)。线程0x444已使用代码退出 259(0x103)。线程0x21ec已退出,代码为 259 (0x103)。这 线程 0x266c 已退出,代码为 259 (0x103)。程序'[7564] SeeSystemDotDrawingFonts.vshost.exe' 已退出,代码为 0 (0x0)。

输出与Main的身体没有任何关系,因为即使全部出来,我也得到了它。这里有什么问题,我该如何调试这些类型的情况?

我想你正在寻找这样的东西:

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("At least we got here");//TEST
            try
            {
                var  installedFontCollection = new InstalledFontCollection();
                var fontFamilies = installedFontCollection.Families;
                var count = fontFamilies.Length;
                for (int j = 0; j < count; ++j)
                {
                    Console.WriteLine(fontFamilies[j].Name);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: {0}", e.Message);
            }
            Console.ReadKey();
        }
    }

https://msdn.microsoft.com/en-us/library/0yf5t4e8(v=vs.110).aspx

相关内容

最新更新