100162746.htm
来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 132 行 · 第 1/2 页
HTM
132 行
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> {</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> return x + y;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> }</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> public static int Main()</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> {</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> int i = Add(5,10);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> Console.WriteLine(i);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> return 0;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> }</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> }</span></p>
<p class="2" 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">Main()</span><span style="FONT-FAMILY: 宋体">方法。如果按照通常的方式编译这段代码,就会得到下述错误:</span></p>
<p class="a6" style="MARGIN: 8.15pt 0cm 0pt 9.95pt; TEXT-INDENT: 9.95pt"><strong><span lang="EN-US">csc MainExample.cs</span></strong></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US">Microsoft (R) Visual C# .NET Compiler version 7.10.3052.4</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US">for Microsoft (R) .NET Framework version 1.1.4322</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US">Copyright (C) Microsoft Corporation 2001-2002. All rights reserved.</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: 39.65pt; TEXT-INDENT: 0cm"><span lang="EN-US">MainExample.cs(7,25): error CS0017: Program 'MainExample.exe' has more than one entry point defined: 'Wrox.ProCSharp.Basics.Client.Main()'</span></p>
<p class="a6" style="MARGIN: 0cm 0cm 8.15pt 39.65pt; TEXT-INDENT: 0cm"><span lang="EN-US">MainExample.cs(21,25): error CS0017: Program 'MainExample.exe' has more than one entry point defined: 'Wrox.ProCSharp.Basics.MathExample.Main()'</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">Main()</span><span style="FONT-FAMILY: 宋体">方法所属类的全名</span><span lang="EN-US">(</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 8.15pt 21.45pt; TEXT-INDENT: 18.45pt"><strong><span lang="EN-US">csc MainExample.cs /main:Wrox.ProCSharp.Basics.MathExample</span></strong></p>
<h3 style="MARGIN: 8.15pt 0cm"><span lang="EN-US">2.9.2 </span><span style="FONT-FAMILY: 黑体">给</span><span lang="EN-US">Main()</span><span style="FONT-FAMILY: 黑体">方法传送参数</span></h3>
<p class="MsoNormal"><span><span style="FONT-FAMILY: 宋体">到目前为止,我们的例子只介绍了不带参数的</span><span lang="EN-US">Main()</span></span><span style="FONT-FAMILY: 宋体">方法。但在调用程序时,可以让</span><span lang="EN-US">CLR</span><span style="FONT-FAMILY: 宋体">包含一个参数,将命令行参数转送给程序。这个参数是一个字符串数组,传统称<span style="LETTER-SPACING: -1pt">为</span></span><span lang="EN-US">args(</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: 宋体; LETTER-SPACING: 0.2pt">下面的例子</span><span lang="EN-US" style="LETTER-SPACING: 0.2pt">Args</span><span lang="EN-US">Example.cs</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt">是在传送给</span><span lang="EN-US" style="LETTER-SPACING: 0.2pt">Main</span><span style="FONT-FAMILY: 宋体; LETTER-SPACING: 0.2pt">方法的字符串数组中迭代,并把每个选项的值写入控制台窗口</span><span style="FONT-FAMILY: 宋体">:</span></p>
<p class="2" style="MARGIN: 8.15pt 0cm 0pt 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US">using System;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> </span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US">namespace Wrox.ProCSharp.Basics</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US">{</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> class ArgsExample</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> {</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> public static int Main(string[] args)</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> {</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> for (int i = 0; i < args.Length; i++)</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> {</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> Console.WriteLine(args[i]);</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> }</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> return 0;</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> }</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US"> }</span></p>
<p class="2" 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></p>
<p class="a6" style="MARGIN: 8.15pt 0cm 0pt 9.95pt; TEXT-INDENT: 9.95pt"><span><strong><span lang="EN-US">ArgsExample /a /b /c</span></strong></span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US">/a</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US">/b</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; TEXT-INDENT: 18.45pt"><span lang="EN-US">/c</span></p></div>
<!-- page -->
<div class="page" style="text-align: center">
<a href="100162745.htm">上一页</a> <a href="index.html">首页</a> <a href="100162747.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='100162746.htm'><font color='red'>2.9 Main()方法</font></a></h1>
<div id="divRealteNod2" style="padding-left: 2px">
<div style='float:left;width:49%'>·<a href='100162743.htm'>2.6 枚举</a></div><div style='float:right;width:49%'>·<a href='100162744.htm'>2.7 数组</a></div><div style='float:left;width:49%'>·<a href='100162745.htm'>2.8 命名空间</a></div><div style='float:right;width:49%'>·<a href='100162747.htm'>2.10 有关编译C#文件的更多内容</a></div><div style='float:left;width:49%'>·<a href='100162748.htm'>2.11 控制台I/O</a></div><div style='float:right;width:49%'>·<a href='100162749.htm'>2.12 使用注释</a></div></div>
</div>
</div>
</div>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?