Revit二次开发成神之路-C#基础-1.控制台程序Hello World

虽然网上一大把,也都以此为学习编程的第一个例子,这里我也按照惯例,来一个吧,熟悉下刚安装,还热乎着的Visual Studio。

  1. 流程:创建新项目-控制台应用(.NET Framework)-命名-位置-创建-随后输入代码-F5运行。
    using System;
    
    namespace ConsoleApp3
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello World!");
                Console.ReadKey();
            }
        }
    }
  2. 写完这个对我来说,好像是很简单啊,但突然发现,我好像对它并没有更深层次的认识,只是知道输入这些玩意就能出现我要的结果。
  3. 这里仔细剖析下看看:
    1. using System;这个是引用的程序集命名空间,System隶属于mscorlib程序集

      Revit二次开发成神之路-C#基础-1.控制台程序Hello World_第1张图片

    2. namespace ConsoleApp3  它是我们在此程序集定义的命名空间

    3. class Program 是这个命名空间下面定义的一个类

    4. static void Main(string[] args){...} 这个是Program类下面的一个方法

    5. Console.WriteLine("Hello World!");   Console.ReadKey(); 这个是方法下面执行的语句。

  4. 上面的代码解析完了,看似很简单,但我现在存在疑问?
    1. 为什么按F5会自动执行我们写的这些东西呢?答复:我们右键点击解决方案属性,可以看到启动项目为ConsoleApp3,因此可以得知我们的启动项目是这个,然后点击ConsoleApp3项目的属性可以看到如下信息Revit二次开发成神之路-C#基础-1.控制台程序Hello World_第2张图片

      程序集名称就是本程序集的名称,这个会影响生成的exe文件或者dll文件的名称,默认命名空间就是字面意思,框架是.NET Framework 4.8,输出类型是控制台应用程序,这个就关系到本程序是怎样输出的,控制台应用程序会默认寻找Main函数作为程序的起点,因此会进入我们写的代码块中逐句执行。你们可以测试下,在本程序中再次定义Main名称的函数是会报错的。在他自定义的类中定义Main函数,会得到错误提示。Revit二次开发成神之路-C#基础-1.控制台程序Hello World_第3张图片

    2. 控制台生成的是个什么东西?在平常我们见得最多的是.exe文件。这里控制台程序生成的也是.exe文件,我们可以看项目属性里面的生成栏,可以找到输出路径是bin\Debug\,可以在本项目文件夹中找到此路径,可以在项目上右键-在资源文件夹中打开Revit二次开发成神之路-C#基础-1.控制台程序Hello World_第4张图片,双击ConsoleApp3.exe即可运行。效果如下Revit二次开发成神之路-C#基础-1.控制台程序Hello World_第5张图片,那Debug文件夹的另外2个是什么东西呢?百度.pdb文件(https://blog.csdn.net/wqfhenanxc/article/details/80674223),config文件是本程序的配置文件,其实删除此2项,目前并没有什么问题,以后需要用到的时候再来讲解。

    3. 为什么要弄个这么丑的控制台呢?平常我们用的软件都不是这样的?据我了解,在图形界面技术还没诞生的时候,计算机就是这样的界面与人来交互的,我最开始也很反感它,真是不平易近人,后来也会使用它用来测试一些简单的算法之类的,因为它足够简单,快速。

  5. 目前为止,一个简单的控制台程序Hello World就写到这里,虽然很啰嗦,但它确实是一个完整的程序,后面我们开发的大型Revit插件的组成也与它类似。
  6. 总结:如果你是很新很新的新手,就像我当时一样,这都是些什么啊?你可以不管那么多,按照操作知道怎么把它弄出来即可,后面觉得有需要的时候再来回顾。既然是Revit二次开发成神之路,那后面就都用Revit平台来吧。我当时学习的时候,也特别希望能直接在Revit上做点东西,不然一直看着控制台,信心早被击垮了。下一个就是Revit版本的Hello Revit!

 

 

 

         

 

你可能感兴趣的:(C#基础)