如何创建 C# 控制台应用程序
[转]
如何:创建 C# 控制台应用程序
本主题旨在生成最简单形式的 C# 程序(控制台应用程序)熟悉 Visual Studio 2008 开发环境。由于控制台应用程序是在命令行执行其所有的输入和输出,因此对于快速测试语言功能和编写命令行实用工具,它们是理想的选择。
在本节中,将学习到:
如何创建新的控制台应用程序。
如何在代码编辑器中使用书签。
如何查看解决方案资源管理器。
如何使代码保持良好的格式。
如何使用 IntelliSense 更快更准确地输入代码。
如何生成并运行应用程序。
在该任务中创建的程序将使用 System.IO 命名空间中的类来获取并显示 C:/ 目录中的文件、大小的列表以及子目录。您可以使用这些代码作为基础,开发用于在目录中搜索某个特定文件名的实用工具。
创建 C# 控制台应用程序
在“文件”菜单上,单击“新建项目”。
将出现“新建项目”对话框。此对话框列出了 Visual Studio 2008能够创建的不同的默认应用程序类型。
选择“控制台应用程序”作为项目类型,并将应用程序的名称更改为“ListFile”。
默认位置应是恰当的,但您始终可以根据需要输入新路径。
单击“确定”。
Visual Studio 2008 为您的项目创建以项目标题命名的新文件夹,然后打开 Visual Studio 2008 主窗口和代码窗格,您将在代码窗格中输入和修改用于创建应用程序的 C# 源代码。
.png)
注意窗口顶部的工具栏。该工具栏包含各种图标,用于创建、加载和保存项目,编辑源代码,生成应用程序以及隐藏和显示构成 Visual Studio 2008环境的其他窗口。该工具栏的最右端的五个图标用来打开重要的窗口,如“解决方案资源管理器”和“工具箱”。将鼠标指针放在其中任一图标上可获得弹出工具提示帮助。
确保“解决方案资源管理器”是可见的,方法是单击屏幕右侧的“解决方案资源管理器”选项卡或工具栏中的“解决方案资源管理器”图标。
“解决方案资源管理器”是非常有用的窗格,因为它显示构成项目的各种文件。该项目中最重要的文件是“Program.cs”文件,它包含应用程序的源代码。
.png)
如果希望使 Visual Studio 2008的显示保持美观整洁,了解如何打开和隐藏“解决方案资源管理器”之类的窗口非常重要。默认情况下,“解决方案资源管理器”是可见的。如果要隐藏“解决方案资源管理器”,请单击“自动隐藏”图标(其标题栏中的图钉图标),或打开“解决方案资源管理器”标题栏上的“选项”菜单并启用“自动隐藏”。其他窗口(如“类视图”和“属性”)也有这些图标。
在“代码编辑器”中键入类名“Console”。
如果“解决方案资源管理器”仍挡住“代码”窗格,请在“代码”窗格中单击以隐藏它。现在单击 Main 方法内的左大括号 ({) 的右边,然后按 Enter 键开始新行。注意编辑器如何自动缩进光标。
键入 C# 类名或关键字时,您可以选择:自行键入完整的单词,或者让 IntelliSense 工具(“代码”窗 格的一部分)帮您完成。例如,当键入“c”时,将显示一个由单词组成的弹出列表,因为 IntelliSense 会尝试预测您要键入的单词。在本例中,此时您还看不到单词“Console”显示出来。您可以向下滚动列表,或者继续键入单词“console”。当 “console”在列表中突出显示时,按 Enter 或 Tab,或者双击它,Console 将添加到代码中。
.png)
使用 IntelliSense 的好处是可以保证大小写和拼写是正确的。是键入代码还是让 IntelliSense 帮你完成,完全由您决定。
键入一个句点和方法名 WriteLine。
在 Console 后键入句点时,将立即显示另一个 IntelliSense 列表。该列表包含属于 Console 类的所有可能的方法和属性。您需要的是 WriteLine 方法,可以在列表的底部看到它。自行完成键入 WriteLine 或按向下键以选择它,然后按 Enter 或 Tab 或双击它。WriteLine 将添加到代码中。
.gif)
键入一个左括号。你将立即看到 IntelliSense 的另一项功能 — 方法签名,它显示为工具提示消息。在本例中,您可以看到 19 个不同的签名,并可以通过单击向上键和向下键浏览它们。
键入字符串“该程序列出目录中的所有文件。”
键入此消息时用引号将其引起来,然后添加一个右括号。你将看到显示一条红色波浪下划线,提醒您缺少某些符号。键入一个“分号” (;),下划线将消失。
完成程序。
键入或复制并粘贴以下代码来完成程序:
[c-sharp] view plaincopy- static void Main(string[] args)
- {
- string path;
- Console.Write("请输入要查看的目录:");
- path = Console.ReadLine();
- Console.WriteLine("该程序列出目录中的所有文件:");
- DirectoryInfo dir = new DirectoryInfo(@path);
- foreach (FileInfo file in dir.GetFiles("*.*"))
- {
- Console.WriteLine("{0},{1}",file.Name,file.Length);
- }
- Console.ReadLine();
- Console.WriteLine("输出该目录下的子目录:");
- foreach(DirectoryInfo di in dir.GetDirectories())
- {
- Console.WriteLine("{0}",di.Name);
- }
- Console.ReadLine();
- }
程序中的最后一行是 Console.ReadLine();,它使程序在按 Enter 键之前暂停。如果省略此行,命令行窗口将立即消失,将看不到程序的输出。如果创建的是始终将从命令行控制台中使用的命令行实用工具,可能需要省去对 ReadLine() 方法的调用。
运行程序。
现在第一个程序已完成,可以编译和运行了。要执行此操作,请按 F5 或单击工具栏中的“开始”图标。
.gif)
在程序编译和运行后,将打开“控制台”窗口,并显示文件及其大小的列表和该目录下的子目录。按 Enter 键退出该程序。
如何创建 C# 控制台应用程序的更多相关文章
- 使用C#创建SQLite控制台应用程序
本文属于原创,转载请注明出处,谢谢! 一.开发环境 操作系统:Windows 10 X64 开发环境:VS2015 编程语言:C# .NET版本:.NET Framework 4.0 目标平台:X86 ...
- [转]C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe
写在前面 原文地址:C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe 这篇文章躺在我的收藏夹中有很长一段时间了,今天闲着没事,就自己动手实践了一下.感觉 ...
- Topshelf+Quartz3.0基于控制台应用程序快速开发可调度windows服务
1.TopShelf TopShelf是一个开源的跨平台的宿主服务框架.可通过.Net Core/.Net Framwork控制台应用程序快速开发windows服务,更加便于服务调试. 本文基于.Ne ...
- .net core创建控制台应用程序和mvc程序
一.创建控制台应用程序 1.查看支持哪些类型:dotnet new --help 2.创建项目(先定位到需要创建的目录) dotnet new console -o ./myconsole 3.查看目 ...
- C#取得控制台应用程序的根目录方法 判断文件夹是否存在,不存在就创建
取得控制台应用程序的根目录方法1:Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径2:AppDomain.CurrentDomain.BaseDirect ...
- 用chrome的snippets片段功能创建页面js外挂程序,从控制台创建js小脚本
用chrome的snippets片段功能创建页面js外挂程序,从控制台创建js小脚本 Chrome的snippets是小脚本,还可以创作并在Chrome DevTools的来源面板中执行.可以访问和从 ...
- WCF入门教程2——创建第一个WCF程序
本节目标 掌握接口 理解契约式编程 创建宿主程序 创建客户端程序访问服务 什么是接口 认识一下接口 必须知道的接口特性 接口不可以被实例化(常作为类型使用) 实现类必须实现接口的所有方法(抽象类除外) ...
- Windows 使用 Yeoman generators 创建 ASP.NET 应用程序
上一篇:<Windows 搭建 .NET 跨平台环境并运行应用程序> 阅读目录: Install Node.js Install yeoman-generators Create ASP. ...
- C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe
不得不说,.NET中安装服务很麻烦,即要创建Service,又要创建ServiceInstall,最后还要弄一堆命令来安装和卸载. 今天给大家提供一种方式,直接使用我们的程序来安装/卸载服务,并且可以 ...
随机推荐
- 当进入log文件后就卡机
问题:一个目录打开,终端就卡死不动了 Ctrl+c也没用,cat一样没用? 解决办法:用的时间或用的数量删除(时间已经否决掉) ls -t |tail -1000 |xargs rm 原因: log ...
- CSS3卷角
众所周知,border-radius 属性可以用来设置圆角,但很少人知道它还可以做很多不规则的犄角.卷角(rounded corners) 工作原理: 一.独立属性:border-bottom-lef ...
- libpcap文件格式分析
第一部分:PCAP包文件格式 一 基本格式: 文件头 数据包头数据报数据包头数据报...... 二.文件头: 文件头结构体 sturct pcap_file_header { DWOR ...
- ASP.NET MVC学习之路由篇(2)
7.解决与物理路径的冲突 当发送一个请求至ASP.NET MVC时,其实会检查网站中存不存在这个请求的物理路径文件,如果存在的话,就会直接将这个物理文件返回.但是有时候我们需要它执行控制器的某个方法, ...
- ZOJ3675:Trim the Nails
Robert is clipping his fingernails. But the nail clipper is old and the edge of the nail clipper is ...
- 【数论+技巧】神奇的Noip模拟试题第二试 T1 素数统计
1. 素数统计 (pcount.pas/.c/.cpp) [问题描述] 小tan的老师揣谙戈给同学们布置了一道题,要求统计给定区间内素数的个数.“这不是很简单吗?”小tan忍不住说.揣谙戈冷 ...
- 8种主要排序算法的C#实现
作者:胖鸟低飞 出处:http://www.cnblogs.com/fatbird/ 简介 排序算法是我们编程中遇到的最多的算法.目前主流的算法有8种. 平均时间复杂度从高到低依次是: 冒泡排序(o( ...
- Unity场景道具模型拓展自定义编辑器
(一)适用情况 当游戏主角进入特定的场景或者关卡,每个关卡需要加载不同位置的模型,道具等.这些信息需要先在unity编辑器里面配置好,一般由策划干这事,然后把这些位置道具信息保存在文件,当游戏主角进入 ...
- python——周边
Pythonic的禅意 import this python是用c语言写的.传说python不止有C语言实现,还有java实现,还有python实现的python,甚至还有js实现的python. p ...
- 指针属性直接赋值 最好先retain 否则内存释放导致crash
//先释放之前的 YK_RELEASE_SAFELY(_selectedDate); //retain新的 _selectedDate = [aDate retain]; NSString 属性的好像 ...