📄 100162738.htm
字号:
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">接着,声明一个类,它表面上称为</span><span lang="EN-US">MyFirstClass</span><span style="FONT-FAMILY: 宋体">。但是,因为该类位于</span><span lang="EN-US">Wrox.ProCSharp.Basics</span><span style="FONT-FAMILY: 宋体">命名空间中,所以其完整的名称是</span><span lang="EN-US">Wrox.ProCSharp.Basics.MyFirstCSharpClass</span><span style="FONT-FAMILY: 宋体">:</span></p>
<p class="a6" style="MARGIN: 8.15pt 0cm 0pt 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> class MyFirstCSharpClass</span></p>
<p class="a6" style="MARGIN: 0cm 0cm 8.15pt 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> {</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">与</span><span lang="EN-US">Java</span><span style="FONT-FAMILY: 宋体">一样,所有的</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">代码都必须包含在一个类中,</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">中的类类似于</span><span lang="EN-US">Java </span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"> C++</span><span style="FONT-FAMILY: 宋体">中的类,大致相当于</span><span lang="EN-US">VB6</span><span style="FONT-FAMILY: 宋体">子句的类模块。类的声明包括</span><span lang="EN-US">class</span><span style="FONT-FAMILY: 宋体">关键字,其后是类名和一对花括号。与类相关的所有代码都应放在这对花括号中。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">下面声明方法</span><span lang="EN-US">Main()</span><span style="FONT-FAMILY: 宋体">。每个</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">可执行文件</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">例如控制台应用程序、</span><span lang="EN-US">Windows</span><span style="FONT-FAMILY: 宋体">应用程序和</span><span lang="EN-US">Windows</span><span style="FONT-FAMILY: 宋体">服务</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">都必须有一个入口点<span style="LETTER-SPACING: -0.5pt">——</span></span><span style="LETTER-SPACING: -0.5pt"> </span><span lang="EN-US">Main</span><span style="FONT-FAMILY: 宋体">方法</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">注意</span><span lang="EN-US">M</span><span style="FONT-FAMILY: 宋体">大写</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">:</span></p>
<p class="a6" style="MARGIN: 8.15pt 0cm 0pt 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> static void Main()</span></p>
<p class="a6" style="MARGIN: 0cm 0cm 8.15pt 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> {</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">这个方法在程序启动时调用,类似于</span><span lang="EN-US">C++</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">Java</span><span style="FONT-FAMILY: 宋体">中的</span><span lang="EN-US">main</span><span style="FONT-FAMILY: 宋体">函数,或</span><span lang="EN-US">VB6</span><span style="FONT-FAMILY: 宋体">模块中的</span><span lang="EN-US">Sub Main</span><span style="FONT-FAMILY: 宋体">。该方法要么不能有返回值</span><span lang="EN-US">void</span><span style="FONT-FAMILY: 宋体">,要么返回一个整数</span><span lang="EN-US">(int)</span><span style="FONT-FAMILY: 宋体">。</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">方法对应于</span><span lang="EN-US">C++ </span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"> Java</span><span style="FONT-FAMILY: 宋体">中的方法</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">有时把</span><span lang="EN-US">C++</span><span style="FONT-FAMILY: 宋体">中的方法看做是成员函数</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">,它还对应于</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 宋体">的</span><span lang="EN-US">Function </span><span style="FONT-FAMILY: 宋体">或</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 宋体">的</span><span lang="EN-US">Sub</span><span style="FONT-FAMILY: 宋体">。这取决于方法是否有返回值</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">与</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 宋体">不同,</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">在函数和子例程之间没有概念上的区别</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">注意,</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">中的方法定义如下所示。</span></p>
<p class="a6" style="MARGIN: 8.15pt 0cm 0pt 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US">[modifiers] return_type MethodName([parameters])</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US">{</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> // Method body. NB. This code block is pseudo-code</span></p>
<p class="a6" style="MARGIN: 0cm 0cm 8.15pt 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US">}</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">第一个方括号中的内容表示可选关键字。修饰符</span><span lang="EN-US">Modifiers</span><span style="FONT-FAMILY: 宋体">用于指定用户所定义的方法的某些特性,例如可以在什么地方调用该方法。在本例中,有两个修饰符</span><span lang="EN-US">public</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">static</span><span style="FONT-FAMILY: 宋体">。修饰符</span><span lang="EN-US">public</span><span style="FONT-FAMILY: 宋体">表示可以在任何地方访问该方法,所以可以在类的外部调用。这与</span><span lang="EN-US">C++ </span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"> Java</span><span style="FONT-FAMILY: 宋体">中的</span><span lang="EN-US">public</span><span style="FONT-FAMILY: 宋体">相同,与</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 宋体">中的</span><span lang="EN-US">Public</span><span style="FONT-FAMILY: 宋体">相同。修饰符</span><span lang="EN-US">static</span><span style="FONT-FAMILY: 宋体">表示方法不能在类的特定实例上执行,因此不必先实例化类再调用。这是非常重要的,因为我们创建的是一个可执行文件,而不是类库。这与</span><span lang="EN-US">C++ </span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"> Java</span><span style="FONT-FAMILY: 宋体">中的</span><span lang="EN-US">static</span><span style="FONT-FAMILY: 宋体">关键字相同,但</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 宋体">中没有对应的关键字</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">在</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 宋体">中,</span><span lang="EN-US">static</span><span style="FONT-FAMILY: 宋体">关键字有不同的含义</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">。把返回类型设置为</span><span lang="EN-US">void</span><span style="FONT-FAMILY: 宋体">,在本例中,不包含任何参数。</span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">最后,看看代码语句。</span></p>
<p class="a6" style="MARGIN: 8.15pt 0cm 0pt 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> Console.WriteLine("This isn't at all like Java!");</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> Console.ReadLine();</span></p>
<p class="a6" style="MARGIN: 0cm 0cm 8.15pt 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> return;</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 16pt"><span style="FONT-FAMILY: 宋体">在本例中,我们只调用了</span><span lang="EN-US">System.Console</span><span style="FONT-FAMILY: 宋体">类的</span><span lang="EN-US">WriteLine()</span><span style="FONT-FAMILY: 宋体">方法,把一行文本写到控制台窗口上。</span><span lang="EN-US">WriteLine()</span><span style="FONT-FAMILY: 宋体">是一个静态方法,在调用之前不需要实例化</span><span lang="EN-US">Console</span><span style="FONT-FAMILY: 宋体">对象。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 16pt"><span lang="EN-US">Console.ReadLine() </span><span style="FONT-FAMILY: 宋体">读取用户的输入,添加这行代码会让应用程序等待用户按下回车键,之后退出应用程序。在</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">中,在这种情况下,控制台窗口会消失。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 16pt"><span style="FONT-FAMILY: 宋体">然后调用</span><span lang="EN-US">return</span><span style="FONT-FAMILY: 宋体">退出该方法</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">因为这是</span><span lang="EN-US">Main</span><span style="FONT-FAMILY: 宋体">方法</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">。在方法的首部指定</span><span lang="EN-US">void</span><span style="FONT-FAMILY: 宋体">,因此没有返回值。</span><span lang="EN-US">Return</span><span style="FONT-FAMILY: 宋体">语句等价于</span><span lang="EN-US">C++ </span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US"> Java</span><span style="FONT-FAMILY: 宋体">中的</span><span lang="EN-US">return</span><span style="FONT-FAMILY: 宋体">,也等价于</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 宋体">中的</span><span lang="EN-US">Exit Sub </span><span style="FONT-FAMILY: 宋体">或</span><span lang="EN-US"> Exit Function</span><span style="FONT-FAMILY: 宋体">。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 16pt"><span style="FONT-FAMILY: 宋体">对</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">基本语法有了大致的认识后,下面就要详细讨论</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">的各个方面了。因为没有变量是不可能编写出任何重要的程序的,所以首先介绍</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">中的变量。</span></p></div>
<!-- page -->
<div class="page" style="text-align: center">
<a href="100162737.htm">上一页</a> <a href="index.html">首页</a> <a href="100162739.htm">下一页</a>
</div>
<div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
<div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
图书导读
</div>
<div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
<!--导读-->
<h1 id="divCurrentNode2" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100162738.htm'><font color='red'>2.1 引言</font></a></h1>
<div id="divRealteNod2" style="padding-left: 2px">
<div style='float:left;width:49%'>·<a href='100162735.htm'>1.6 用C#创建.NET应用程序</a></div><div style='float:right;width:49%'>·<a href='100162736.htm'>1.7 C#在.NET企业体系结构中的作用</a></div><div style='float:left;width:49%'>·<a href='100162737.htm'>1.8 小结</a></div><div style='float:right;width:49%'>·<a href='100162739.htm'>2.2 第一个C#程序</a></div><div style='float:left;width:49%'>·<a href='100162740.htm'>2.3 变量</a></div><div style='float:right;width:49%'>·<a href='100162741.htm'>2.4 预定义数据类型</a></div></div>
</div>
</div>
</div>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -