100165381.htm

来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 297 行 · 第 1/4 页

HTM
297
字号
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span style="FONT-FAMILY: 宋体">-</span></p>
            </td>
        </tr>
        <tr>
            <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 1.4pt; WIDTH: 107.65pt; BORDER-TOP-STYLE: none; PADDING-TOP: 1.4pt; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="144">
            <p class="a4" style="MARGIN-LEFT: 10.7pt; TEXT-ALIGN: left" align="left"><span lang="EN-US">New Project In Existing Folder</span></p>
            </td>
            <td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 1.4pt; WIDTH: 272.85pt; BORDER-TOP-STYLE: none; PADDING-TOP: 1.4pt; BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT-STYLE: none" valign="top" width="364">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><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">)</span><span style="FONT-FAMILY: 宋体">并要把它们转换为</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">项目,可以使用这个选项</span></p>
            </td>
            <td style="PADDING-RIGHT: 9.9pt; PADDING-LEFT: 9.9pt; PADDING-BOTTOM: 1.4pt; WIDTH: 60.2pt; BORDER-TOP-STYLE: none; PADDING-TOP: 1.4pt; BORDER-BOTTOM: windowtext 1pt solid; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none" valign="top" width="80">
            <p class="a4" style="MARGIN-LEFT: 10.7pt"><span style="FONT-FAMILY: 宋体">-</span></p>
            </td>
        </tr>
    </tbody>
</table>
</div>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<h4 style="FTEL: 21.45pt"><span lang="EN-US">2. </span><span style="FONT-FAMILY: 黑体">新建的控制台项目</span></h4>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span style="FONT-FAMILY: 宋体">在上述对话框中选择</span><span lang="EN-US">Console Application</span><span style="FONT-FAMILY: 宋体">选项,单击</span><span lang="EN-US">OK</span><span style="FONT-FAMILY: 宋体">按钮,</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">就会提供许多文件,包括一个源文件</span><span lang="EN-US">Class1.cs</span><span style="FONT-FAMILY: 宋体">,其中包含了最初的框架代码。</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 18pt"><span style="FONT-FAMILY: 宋体">屏幕图</span><span lang="EN-US">12-6</span><span style="FONT-FAMILY: 宋体">显示了</span><span lang="EN-US">Visual Studio .NET</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><span lang="EN-US">C#</span><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><span lang="EN-US">F5</span><span style="FONT-FAMILY: 宋体">键,或者选择</span><span lang="EN-US">Debug</span><span style="FONT-FAMILY: 宋体">菜单中的</span><span lang="EN-US">Start</span><span style="FONT-FAMILY: 宋体">,这段代码就可以编译和运行。在这样做之前,在程序中加入一行代码,让应用程序完成某个工作:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; static void Main(string[] args)</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; {</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO: Add code to start application here</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Hello from all the editors at Wrox Press&quot;);</span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; }</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15.6pt"><span style="FONT-FAMILY: 宋体">如果编译并运行了该项目,就会显示一个控制台窗口,但该窗口几乎立即就消失了,用户几乎看不到输出的信息。原因是在创建该项目,</span><span lang="EN-US">Visual Studio .NET</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">Windows</span><span style="FONT-FAMILY: 宋体">就认为不再需要该控制台窗口,因此就即时删除了它。这些都是非常逻辑化的操作,但如果希望能看到项目的输出结果,这些操作对用户就没有什么帮助。</span></p>
<p align="center"><span lang="EN-US"><img height="390" src="12/image006.jpg" width="539" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="EN-US">&nbsp; 12-6</span></p>
<p class="MsoNormal" style="LINE-HEIGHT: 15.6pt"><span style="FONT-FAMILY: 宋体">要避免这个问题,可以在</span><span lang="EN-US">Main()</span><span style="FONT-FAMILY: 宋体">方法结束前插入下述代码:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 11pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; static void Main(string[] args)</span></p>
<p class="a6" style="MARGIN-TOP: 2.5pt; MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 11pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; {</span></p>
<p class="a6" style="MARGIN-TOP: 2.5pt; MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 11pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span></p>
<p class="a6" style="MARGIN-TOP: 2.5pt; MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 11pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO: Add code to start application here</span></p>
<p class="a6" style="MARGIN-TOP: 2.5pt; MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 11pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //</span></p>
<p class="a6" style="MARGIN-TOP: 2.5pt; MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 11pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Hello from all the editors at Wrox Press&quot;);</span></p>
<p class="2" style="MARGIN-TOP: 2.5pt; MARGIN-LEFT: 21.45pt; LINE-HEIGHT: 11pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.ReadLine();</span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">&nbsp;&nbsp; }</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">这样,代码运行后,会显示其输出结果,之后执行</span><span lang="EN-US">Console.ReadLine()</span><span style="FONT-FAMILY: 宋体">语句,用户按下回车键后,程序退出。这表示在用户按下回车键之前,控制台窗口一直会挂起。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">注意这仅是在</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">中试运行控制台应用程序的问题。如果编写的是一个</span><span lang="EN-US">Windows</span><span style="FONT-FAMILY: 宋体">应用程序,该应用程序显示的窗口会自动停留在屏幕上,直到用户显式退出程序为止。同样,如果在命令行提示符上运行一个控制台应用程序,就没有窗口消失的问题。</span></p>
<h4 style="FTEL: 21.45pt"><span lang="EN-US">3. </span><span style="FONT-FAMILY: 黑体">其他文件的创建</span></h4>
<p class="MsoNormal"><span lang="EN-US">Class1.cs</span><span style="FONT-FAMILY: 宋体">源代码文件不是</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">创建的惟一文件。如果查看一下</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">创建项目的文件夹,就会看到其中不仅仅有</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 宋体">文件,还有如图</span><span lang="EN-US">12-7</span><span style="FONT-FAMILY: 宋体">所示的完整目录结构。</span></p>
<p align="center"><span lang="EN-US"><img height="224" src="12/image007.jpg" width="439" alt="" /></span></p>
<p style="FTEL: 8.15pt" align="center"><span style="FONT-FAMILY: 宋体">图</span><span lang="EN-US">&nbsp; 12-7</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">文件夹</span><span lang="EN-US">bin</span><span style="FONT-FAMILY: 宋体">和</span><span lang="EN-US">obj</span><span style="FONT-FAMILY: 宋体">存储编译好的文件和中间文件,</span><span lang="EN-US">obj</span><span style="FONT-FAMILY: 宋体">的子文件夹存储各种临时或中间文件,</span><span lang="EN-US">bin</span><span style="FONT-FAMILY: 宋体">的子文件夹存储编译好的程序集。</span></p>
<p class="a3" style="MARGIN-TOP: 8.15pt; FTEL: 21.45pt"><span style="FONT-FAMILY: 黑体">注意:</span></p>
<p class="a1" style="FTEL: 21.45pt"><span style="FONT-FAMILY: 楷体_GB2312">传统上,</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 楷体_GB2312">开发人员只是编写它们的代码,然后运行它们。代码在发布前,必须编译成可执行文件,但</span><span lang="EN-US">VB</span><span style="FONT-FAMILY: 楷体_GB2312">在调试中隐藏了这个过程。而在</span><span lang="EN-US">C#</span><span style="FONT-FAMILY: 楷体_GB2312">中,这个过程是显式的:要运行代码,必须先编译它,即在某处创建一个程序集。</span></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">在项目的主文件夹</span><span lang="EN-US">BasicConsoleApp</span><span style="FONT-FAMILY: 宋体">中,剩余的文件都是由</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">建立的,它们包含项目的信息,这样,</span><span lang="EN-US">Visual Studio .NET</span><span style="FONT-FAMILY: 宋体">就知道如何编译项目,在下一次打开该项目时,知道如何读取它。</span></p></div>
                <!-- page -->
                <div class="page" style="text-align: center">
                    <a href="100165380.htm">上一页</a>&nbsp;&nbsp;&nbsp;<a href="index.html">首页</a>&nbsp;&nbsp;&nbsp;<a href="100165382.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='100165381.htm'><font color='red'>12.1.1  创建项目</font></a></h1>
                        <div id="divRealteNod2" style="padding-left: 2px">
                        <div style='float:left;width:49%'>·<a href='100165378.htm'>11.1.3  用户定义的异常类(2)</a></div><div style='float:right;width:49%'>·<a href='100165379.htm'>11.2  小结</a></div><div style='float:left;width:49%'>·<a href='100165380.htm'>12.1  使用Visual Studio .NET 2003</a></div><div style='float:right;width:49%'>·<a href='100165382.htm'>12.1.2  解决方案和项目</a></div><div style='float:left;width:49%'>·<a href='100165383.htm'>12.1.3  Windows应用程序代码</a></div><div style='float:right;width:49%'>·<a href='100165384.htm'>12.1.4  读取Visual Studio 6项目</a></div></div>
                    </div>
                </div>
                </div></div>
   
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?