叩开C#入门系列之几个重要名词

2016-02-19 15:08 4 1 收藏

下面图老师小编跟大家分享叩开C#入门系列之几个重要名词,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - 编程语言 】

  初学者很容易把这些概念搞混淆。先说说项目(Project),通俗的说,一个项目可以就是你开发的一个软件。在.Net下,一个项目可以表现为多种类型,如控制台应用程序,Windows应用程序,类库(Class Library),Web应用程序,Web Service,Windows控件等等。如果经过编译,从扩展名来看,应用程序都会被编译为.exe文件,而其余的会被编译为.dll文件。既然是.exe文件,就表明它是可以被执行的,表现在程序中,这些应用程序都有一个主程序入口点,即方法Main()。而类库,Windows控件等,则没有这个入口点,所以也不能直接执行,而仅提供一些功能,给其他项目调用。

  在Visual Studio.Net中,可以在File菜单中,选择new一个Project,来创建一个新的项目。例如创建控制台应用程序。注意在此时,Visual Studio除了建立了一个控制台项目之外,该项目同时还属于一个解决方案(Solution)。这个解决方案有什么用?如果你只需要开发一个Hello World的项目,解决方案自然毫无用处。但是,一个稍微复杂一点的软件,都需要很多模块来组成,为了体现彼此之间的层次关系,利于程序的复用,往往需要多个项目,每个项目实现不同的功能,最后将这些项目组合起来,就形成了一个完整的解决方案。形象地说,解决方案就是一个容器,在这个容器里,分成好多层,好多格,用来存放不同的项目。一个解决方案与项目是大于等于的关系。建立解决方案后,会建立一个扩展名为.sln的文件。

  在解决方案里添加项目,不能再用new的方法,而是要在File菜单中,选择Add Project。添加的项目,可以是新项目,也可以是已经存在的项目。

  程序集叫Assembly。学术的概念我不想提,通俗的角度来说,一个项目也就是一个程序集。从设计的角度来说,也可以看成是一个完整的模块(Module),或者称为是包(Package)。因此,一个程序集也可以体现为一个dll文件,或者exe文件。怎样划分程序集也是大有文章的,不过初学者暂时不用考虑它。

  命名空间(namespace)是在C++里面就有的概念。引入它,主要是为了避免一个项目中,可能会存在的相同对象名的冲突。这个命名空间的定义,没有特殊的要求。不过基本上来说,为了保证其唯一性,最好是用uri的格式,例如BruceZhang.com。这个命名空间有点像我们姓名中的姓,然后每个对象的名字则是姓名中的名。如果有重复,再国外的命名中,还可以加上middle name。那么名都为勇的,由于姓氏不同也就分开了,或者叫张勇,或者叫赵勇。当然人的姓氏重复者居多,所以我们为命名空间取名时,尽可能的复杂一点。 有许多初学者,常常把一个项目就理解为一个命名空间。其实这两者没有绝对的联系,在项目里我们也可以定义很多不相同的命名空间。但为了用户便于使用,最好在一个项目中,其命名空间最好是一体的层次结构。在Visual Studio里,我们可以在项目中新建一个文件夹,默认情况下,该文件夹下对象的命名空间,应该是项目的命名空间.文件夹名。当然,我们也可以在namespace中修改它。

  命名空间和程序集名,都可以在Visual Studio中设置。用鼠标右键单击项目名,就可以弹出如下对话框:

  在图中,Assembly Name就是程序集名,如果经过编译,则为该项目的文件名。而Default Namespace则为默认的命名空间。在开发软件时,我们要养成良好的习惯,在建立新项目后,就将这些属性设置好。一旦设置好了Default Namespace,则以后新建的对象,其命名空间即为该设定的值。至于程序集名,如果是dll文件,建议其名最好与Default Namespace一致。

  实例演练:

  (一)创建控制台应用程序Hello World!

  1、打开Visual Studio.Net,选择File菜单的new,选择Project;

  2、选择Visual C# Projects中的Console Application,如图所示:

  在Location中,定位你要保存的项目的路径,而名字则为FirstExample。该名字此时既是解决方案的名字,同时也是该项目的名字。

  3、用鼠标右键单击项目名,在弹出的对话框中,将Assembly Name命名为HelloWorld,将Default Namespace命名为:BruceZhang.com.FirstExample。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  4、此时Visual Studio中已经建立了一个文件,其名为Class1.cs(如果是Visual Studio 2005,则默认为Program.cs);修改该文件的文件名为HelloWorld.cs,同时修改文件中的namespace,和类名,如下:

  

namespace BruceZhang.com.FirstExample{ /// summary /// Summary description for Class1. /// /summary class HelloWorld {  /// summary  /// The main entry point for the application.  /// /summary  [STAThread]  static void Main(string[] args)  {   //   // TODO: Add code to start application here   //  } }}

  5、注意在HelloWorld.cs中,有一个Main()方法。这是因为我们建立的是控制台应用程序。在Main()方法中添加如下代码:

  

Console.WriteLine("Hello World!");Console.Read();

  这里的Console是一个能对控制台进行操作的类。

  6、运行。

  检查保存项目的路径文件夹FirstExample/bin/debug,已经存在了一个HelloWorld.exe文件。

  (二)为解决方案添加一个新项目

  1、在File菜单中,选择Add Project,添加New Project。在对话框中选择Class Library,名字为Printer。至于保存路径,可以放在之前建立的FirstExample文件夹下:

  2、在Visual Studio右侧,可以看到现在有两个项目了。仍然修改新项目的名称和默认命名空间名,均为BruceZhang.com.Printer。

  3、将默认建立的Class1.cs改名为MessagePrinter.cs,同时修改其代码为:

  

namespace BruceZhang.com.Printer{ /// summary /// Summary description for Class1. /// /summary public class MessagePrinter {  public MessagePrinter()  {   //   // TODO: Add constructor logic here   //  }  public static void Print(string msg)  {   Console.WriteLine(msg);  } }}

  在MessagePrinter类中,我们注意到并没有Main()方法,因为它不是应用程序。新增加的Print()方法,能够接收一个字符串,然后在控制台中显示出来。

  4、编译Printer项目。鼠标右键单击该项目名,在菜单中选择Build。成功编译后,找到文件夹Printer/bin/debug,可以发现有文件BruceZhang.com.Printer.dll,这就是最后形成的程序集文件。

  5、关联这两个项目。我们希望是在FirstExample项目中用到Printer项目的Print()方法,前提是需要在FirstExample项目中添加对Printer项目的引用。右键单击FirstExample项目的Reference,选择Add Reference,在对话框中选择Project标签,找到该项目并选中,最后如图所示:

  6、现在就可以在FirstExample项目中使用MessagePrinter了。首先,在命名空间中添加对它的使用(Using),然后再Main()方法中调用它,最后代码如下:

  

using System;using BruceZhang.com.Printer;namespace BruceZhang.com.FirstExample{ /// summary /// Summary description for Class1. /// /summary class HelloWorld {  /// summary  /// The main entry point for the application.  /// /summary  [STAThread]  static void Main(string[] args)  {   MessagePrinter.Print("Hello World!");   Console.Read();  } }}

  7、运行。结果与前一个例子一样。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  在这个例子中,解决方案中就包含了两个项目,一个是控制台应用程序,一个是类库。类库提供一些基本的功能,如例子中的Print()方法。我们常常把一些共用的方法,放到类库中。这样其他的应用程序就可以去调用它。例如本例的控制台应用程序。如果新建的Windows应用程序,也需要这个功能,就可以直接引用MessagePrinter的Print()方法,而不必重复去实现。

来源:http://www.tulaoshi.com/n/20160219/1609000.html

延伸阅读
表达式(expression)由操作数(operand)和运算符(operator)构成。表达式的运算符标明在操作数上运用了哪种操作。运算符的例子包括+、-、*、/和new。操作数的例子包括字面值、字段、局部变量和表达式。 当表达式包括多个运算符时,运算符的优先级(precedence)控制各个运算符执行的顺序。例如,表达式x+y*z将以x+(y*z)的形式计算...
我们创建的第一个类是Shape。这是一个抽象类,因为我们不想创建这个类的实例,我们要创建的是它的派生类的实例。我们从所有的形状(圆、长方形、正方形)提取出共同特征到Shape类。Shape类有一个实例变量color,它的变量声明中带有protected修饰符。protected修饰符表示这个变量只能在类的内部或者该类的派生类中访问。紧接这个变量声明的就是Sh...
摘要:学习如何使用C# Builder构造一个简单的.RTF浏览程序以及C# Builder IDE的一些基本知识。 你想成为一名C#程序员吗?让我们开始创建一个Windows图形用户界面应用程序(使用C# Builder,你可以创建控制台应用程序、Web应用程序(ASP.NET)、WebMethod(亦称Web服务),也可以把数据库连接整合到ADO.NET中,但是出于简单的理由,我...
导读 C#是Microsoft开发的一种新语言,它和C/C++一样强大,和Java一样提供丰富的网络编程支持和自动内存管理,和VB一样简单易用。本文的目的是为尚未接触过C#的程序员介绍这种编程语言,是一个基础的入门教程。 作者:仙人掌工作室 2001-02-20 原文出处:http://journal.iftech.com/articles/0011_joey_CSharp/ C#读作“C ...
下面这个例子示范如何创建和使用用户定义的类以及如何创建动态链接库。利用文本编辑器创建两个文件。第一个是Apple.cs,内容如下: public class Apple { private string variety = ""; public Apple(string appleVariety) { this.variety = appleVariety; } public void outputVariety() { System.Console.WriteLine(variety); } } ...

经验教程

139

收藏

82
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部