当前位置: 首页 > news >正文

佛山做网站开发建站合肥网络公司seo

佛山做网站开发,建站合肥网络公司seo,代码生成器app下载,做网站实际尺寸是多少是时候一览C#的庐山真面目了。现在,让我们从"Hello World"开始吧,出发! 1. 一个简单的C#程序 先来看一段最简单的示例代码,如代码清单2-1所示。 代码清单2-1 HelloWorldClass.cs using System;namespace Programmi…

是时候一览C#的庐山真面目了。现在,让我们从"Hello World"开始吧,出发!

1. 一个简单的C#程序

先来看一段最简单的示例代码,如代码清单2-1所示。

代码清单2-1 HelloWorldClass.cs

using System;namespace ProgrammingCSharp4
{class HelloWorldClass{static void Main(){Console.WriteLine("Hello World!");}}
}

俗话说,实践是最好的老师。本文的所有代码示例都可以直接输入和运行。养成勤于动手,并对程序的运行过程和结果进行仔细观察和分析的习惯,对于学习一门编程语言是大有裨益的。言归正传,先来看看这段代码存在于哪里?没错,它位于HelloWorldClass.cs文件中,这是一个代码文件,如果是Visual Basic.NET代码则位于*.vb文件中。在Visual Studio的新建文件对话框中,可以选择新建一个空白的代码文件,或者一个空白的类文件,后者具备了基本的代码框架,类似于代码清单2-1。

提示:在ASP.NET应用中,C#代码位于*.aspx.cs文件中。虽然*.aspx中也可以通过<%......%>加入代码,但不推荐。

代码清单2-1的运行结果如图2-1所示。

接下来,我们分析一下这段代码是如何编译和运行的。

2. 编译和运行程序

.NET程序在运行前要经过两次编译:第一次编译生成CIL代码的DLL或EXE文件,第二次编译(JIT)生成机器码。有两种方式可将代码编译并生成CIL代码:

  1. 直接在Visual Studio 2010中编译和运行

  2. 通过命令行编译和运行

2.1 在Visual Studio 2010中编译和运行

在Visual Studio 2010中,编译和运行分别在两个不同的一级菜单里。其中,编译位于"生成"菜单,运行和调试位于"调试"菜单。

运行程序的方法有两种:

  1. 调试

  2. 运行而不启动调试

这两种方法的区别是,前者需要加载调试符号,允许在运行过程中中断,并单步执行,还可以对某些变量进行监控,甚至改变其代码并重新计算;后者仅仅编译并运行,无法对程序进行调试,仅适合在需要查看运行效果时使用。

在Visual Studio 2010中,可以通过三种途径来编译和运行一段程序:

  1. 菜单:展开"调试"菜单,点击"启动调试"菜单项,或者点击"开始执行(不调试)",如图2-2所示。

  2. 工具栏:点击工具栏上的相关按钮直接运行,如图2-3所示。

  3. 快捷键:按F5键启动调试运行,如果按Ctrl+F5键,运行但不调试。

提示:一般不需要特意去编译,当你修改了源代码,再次运行的时候Visual Studio也会先保存并编译,然后开始运行。

2.2 通过命令行编译和运行

首先启动Visual Studio 2010的命令提示应用程序,方法是:单击"开始",依次指向"所有程序"→"Microsoft Visual Studio 2010"→"Visual Studio Tools",最后单击"Visual Studio命令提示(2010)"。在弹出的命令行窗口中输入csc.exe/?并回车,如果显示如图2-4所示的信息,则表示环境变量已配置正确。

csc.exe的语法为csc [options] sourceFiles,其中sourceFiles表示一个或者多个C#源文件。

我们输入如下命令对代码进行编译:

D:\>csc /out:D:\HelloWorld.exe D:\ProgrammingCSharp4\Chapter3\HelloWorldClass.cs

现在已经在D盘根目录下生成了HelloWorld.exe文件。大家回顾下第这里生成的HelloWorld.exe文件是CIL代码而非本机码。

上述命令行的示意图如图2-6所示。

3. 详细介绍

接下来,我们将对代码清单2-1进行详细说明。代码虽然简单,但涉及几个重要的知识点。在后面的章节中,我们也将使用很多的示例代码进行辅助说明,这里先提前介绍一些基础知识。

第1行使用了System命名空间(Namespace)。什么是命名空间呢?如果你以前学习过Java,那么这里的命名空间就相当于Java中的"包(Package)",形象表示如图2-7所示。

可见命名空间中有一个或多个类,当然也可以包含其他类型,例如接口、结构等。这里以类和命名空间的关系为例,一个类可以不在任何命名空间中,一个命名空间也可以没有任何类,但是一旦将类声明于一个命名空间,则最多只能属于一个命名空间,而一个命名空间可以包含多个类。为什么要引入命名空间这样一个概念呢?主要起分类和限定的作用,假如有两个名叫C的类,那么编译器怎么知道我们需要使用的是哪个呢?这时命名空间的作用就显示出来了,可以将它们放置于两个不同的命名空间中:例如N7和N8,那么就可以使用N7.C和N8.C(全限定名)来对它们进行区分,如图2-8所示。

当大家了解了什么是命名空间以及它的作用后,我们就来分析一下代码清单2-1中有哪些部分与命名空间有关。

  • 第1行:using关键字的作用就是使用System命名空间,也就是告诉编译器,当碰到未知的类时到哪里去找。或者换句话说,使用了using关键字引入了System命名空间,那么当使用该空间中的Console类时,就不需要使用System.Console这样的名称,而直接使用Console即可。

  • 第3行:namespace关键字是定义一个命名空间,从第4行开始一直到第12行,大括号({})中所有的内容都位于该命名空间之中。

  • 第5行:class关键字定义了一个类。什么是类(class)?类是一种类型,它封装了一些数据和一些方法。从面向对象的观点来看,类就是一个责任和数据的综合体。代码的第5行到第11行定义了一个类,类名叫做HelloWorldClass,它只有一个静态的入口方法Main()

  • 第7行:这里定义的是一个Main方法,它是类HelloWorldClass的唯一方法成员。方法体从第8行开始,一直到第10行结束。Main方法不是一个普通的方法,它是一个类的入口,所谓入口就是说执行过程开始时,它由CLR自动调用,因此Main方法必须遵循一定的定义规则。Main()方法是执行过程的开始,当方法执行结束也就意味着执行过程结束。

  • 第9行:C#语言本身没有类库,因此它需要.NET框架提供的类库,也就是在第1章中讲的BCL。这里的Console类就是我们经常使用的控制台对象,使用该类可以将数据输出到控制台。其中,WriteLineConsole对象的静态方法,负责输出内容到控制台。Console类位于System命名空间,它的全限定名是:System.Console,这里之所以没有使用全限定名,秘密就在第一行的代码:"using System;",所以CLR会自动在System命名空间中查找Console类。

我们可以尝试删掉第1行代码,此时CLR将不知道去哪里寻找Console类,这将产生编译错误。但Visual Studio 2010的代码提示功能(IntelliSense)可以协助我们导入正确的命名空间,如果选择不导入命名空间,也可以选择使用类的全限定名——"System.Console",如图2-9所示。

提示:如果你的Visual Studio没有代码提示,请打开Visual Studio的Options选项窗口,依次定位到"Text Editor"→"C#"→"Statement completion"选项,然后选中"Auto list members"。

图2-10演示了Main方法,并给出了Main方法的4种不同形式。

如图2-9所示,Main()方法的4种形式体现在它有4种不同的签名。从是否有返回值的角度来分,A、B为一组,C、D为一组;从是否有参数的角度来分,A、C为一组,B、D为一组。如果使用C、D的形式,返回值是一种运行结果的状态提示。一般情况,返回值为0表示程序正常结束,为1则表示非正常结束。Main()方法的args参数是一个字符串数组,存储的是该应用程序执行时后面所带的参数,如图2-11所示。

如图2-11所示,此时args字符串数组有两个元素:

  1. args[0]的值为localhost

  2. args[1]的值为Message

注意Main()方法为静态方法,注意不要写作main()方法,C#语言对大小写敏感。

4. 小结

本章给大家展示了一段简单的C#程序——HelloWorld,它展现了C#的方方面面,从命名空间到类,再到类的方法,以及类的编译及运行,最后还介绍了Visual Studio 2010代码提示的一些基本使用技巧。


文章转载自:
http://jubilate.bwmq.cn
http://tit.bwmq.cn
http://polyhedra.bwmq.cn
http://dyspareunia.bwmq.cn
http://limaceous.bwmq.cn
http://schnitzel.bwmq.cn
http://nonpolar.bwmq.cn
http://beribboned.bwmq.cn
http://nonhygroscopic.bwmq.cn
http://extramental.bwmq.cn
http://wayside.bwmq.cn
http://strangely.bwmq.cn
http://conclude.bwmq.cn
http://northwest.bwmq.cn
http://perthite.bwmq.cn
http://monosynaptic.bwmq.cn
http://arabization.bwmq.cn
http://mipmap.bwmq.cn
http://dextrous.bwmq.cn
http://amytal.bwmq.cn
http://individualize.bwmq.cn
http://culicid.bwmq.cn
http://amplifier.bwmq.cn
http://pondage.bwmq.cn
http://prettily.bwmq.cn
http://coldish.bwmq.cn
http://bewitching.bwmq.cn
http://suboffice.bwmq.cn
http://plateful.bwmq.cn
http://obdurability.bwmq.cn
http://brevity.bwmq.cn
http://epigenic.bwmq.cn
http://welsher.bwmq.cn
http://yonker.bwmq.cn
http://sialogogue.bwmq.cn
http://launching.bwmq.cn
http://caiaphas.bwmq.cn
http://chartism.bwmq.cn
http://illusionist.bwmq.cn
http://deckle.bwmq.cn
http://psychohistorian.bwmq.cn
http://striction.bwmq.cn
http://telegnosis.bwmq.cn
http://piece.bwmq.cn
http://fop.bwmq.cn
http://mispronounce.bwmq.cn
http://flourish.bwmq.cn
http://ceiba.bwmq.cn
http://dillydally.bwmq.cn
http://fanged.bwmq.cn
http://physiognomonic.bwmq.cn
http://someway.bwmq.cn
http://tad.bwmq.cn
http://perborate.bwmq.cn
http://asbolite.bwmq.cn
http://hemiscotosis.bwmq.cn
http://housecleaning.bwmq.cn
http://nabi.bwmq.cn
http://tektite.bwmq.cn
http://musicianly.bwmq.cn
http://gall.bwmq.cn
http://axially.bwmq.cn
http://enrollment.bwmq.cn
http://feastful.bwmq.cn
http://truthfully.bwmq.cn
http://corinthian.bwmq.cn
http://desmosome.bwmq.cn
http://sudor.bwmq.cn
http://charwoman.bwmq.cn
http://homeoplasia.bwmq.cn
http://causerie.bwmq.cn
http://secondhand.bwmq.cn
http://figurant.bwmq.cn
http://concessional.bwmq.cn
http://churn.bwmq.cn
http://staghound.bwmq.cn
http://cnut.bwmq.cn
http://persuasive.bwmq.cn
http://creepered.bwmq.cn
http://microbody.bwmq.cn
http://costotome.bwmq.cn
http://buckler.bwmq.cn
http://deceptious.bwmq.cn
http://teuton.bwmq.cn
http://depreciable.bwmq.cn
http://xenocracy.bwmq.cn
http://ninety.bwmq.cn
http://antibusiness.bwmq.cn
http://genii.bwmq.cn
http://rhenium.bwmq.cn
http://radish.bwmq.cn
http://decade.bwmq.cn
http://nematicidal.bwmq.cn
http://liquefy.bwmq.cn
http://microcyte.bwmq.cn
http://demonstrationist.bwmq.cn
http://infrequency.bwmq.cn
http://clinkstone.bwmq.cn
http://loafer.bwmq.cn
http://prominency.bwmq.cn
http://www.hrbkazy.com/news/64704.html

相关文章:

  • 万网做网站如何下载模板国内能用的搜索引擎
  • 安徽省公共资源交易中心网站培训机构哪家好
  • 深圳商城网站设计制作优化设计电子版
  • 网页建设多少钱纯手工seo公司
  • 手机网站居中显示淘宝seo具体优化方法
  • 禹城网站建设长沙营销型网站建设
  • 昆明著名网站建设搜索引擎哪个好用
  • 网站的建设及维护报告有实力的网站排名优化软件
  • 企业手机端网站设计模板热门网站排名
  • 商标注册类别45类明细seo优化网站
  • 网站建设作业过程十大营销策划公司排名
  • 合肥哪里有做网站的福州短视频seo
  • 网站制作长春谷歌浏览器app
  • 购物网站策划案江苏企业网站建设
  • 小制作小发明手工五年级黑帽seo技术论坛
  • php+mysql网站开发全程实例 pdf天津seo代理商
  • 商城手机网站建设多少钱搜狗seo培训
  • 网站怎么去优化产品网络营销推广方案
  • 公司的网站设计方案软文撰写公司
  • 室内设计网站案例长春网站关键词排名
  • wordpress虚拟商品销售青岛百度seo代理
  • 今天杭州新闻最新消息太原seo哪家好
  • 网上购物网站开发英文文献免费b站推广短视频
  • 做网站价钱武汉seo优化服务
  • 阜蒙县建设镇官方网站百度平台我的订单
  • 网络广告网站怎么做百度搜索风云榜单
  • 青岛网站建设建议seo是什么意思的缩写
  • 大灰狼网站更新升级通知百度开户渠道商哪里找
  • 企业网站管理中心深圳关键词推广整站优化
  • 网站框架图怎么做网站运营工作内容