C#基础谈(二)---- 创建第一个C#程序

既然知道了C#是一个语言,那么我们就把这个语言慢慢学好吧,很多参考书,包括MSDN的第一个例子都是"Hello World",那我们也遵照国际惯例吧。

首先创建你的第一个应用程序,C#是语言,不是工具,所以,要用C#开发程序,我们要使用支持C#语言的开发工具,现在市面上有很多的C#语言开发工具, 之前我说了,我是微软的忠实用户,而且C#就是微软开发的,那我们自然是用微软的Visual Studio了。好的,那么开始吧,打开vs(当然你可能不一定使用vs,也可能是sharp develop等等之类的C#开发工具,这里我就以vs为例了),选择左上方的“文件”->新建,这里你可以选择“项目”,也可以选择“网站”,都 无所谓的,因为我们这里只介绍C#语言,并不介绍你如何开发winform或asp.net程序,这里我们选择“项目”,在弹出的“新建项目”对话框中的 左边树形列表中选择"Visual C#",那么就会在右边区域显示已经安装的模板,vs本身自带有多种模板,以供不同的程序开发者选择,当然也支持开发者自己创建自己的项目模板,这个我们 以后可能会专门谈一下。接下来,我们在“Visual Studio已安装的模板”中选择“控制台应用程序”,如果你使用的是vs2008,你还会发现模板的右上角有个下拉框,让你可以选择新建项目的.net framework版本,里面有2.0,3.0和3.5,你可以根据自己的需要进行选择,然后在下面的“名称”和“位置”中填入你这个新建项目的名称和在 电脑中的路径,此时你会看到最底下的2行是关于解决方案的,默认就是为新建项目创建新的解决方案,解决方案有什么用呢?比如现在的B/S系统,都分三层, 那么就可以把这三层项目都放在同一个解决方案下,便于管理,也便于维护。回到主题,填写好所有信息后点击“确定”,我们的第一个项目就创建完成了。

这里我新建的是一个控制台程序,取名为CSharpBasic,当你在新建项目的对话框中点击“确定”后,VS将会在你选择的路径下为你新建以下文 件:CSharpBasic.sln(如果你勾选了“创建解决方案”的话)和一个CSharpBasic文件夹,文件夹中又有如下内 容:CSharpBasic.csproj,Program.cs,bin文件夹,obj文件夹,Properties文件夹。下面我们来一个一个说明这 些都什么东西:

1、.csproj:其实就是C Sharp Project的缩写,代表C#项目文件,如果创建的是vb项目的话,就是vbproj,你只要用记事本方式打开它,就会发现其实它就是一个XML文件,里面记录了该项目的一些信息,例如:

<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <ProductVersion>9.0.30729</ProductVersion> <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{EDFF7D85-4E60-4767-94E0-0262B8EAB0F5}</ProjectGuid> <OutputType>Exe</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>CSharpBasic</RootNamespace> <AssemblyName>CSharpBasic</AssemblyName> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <OutputPath>bin\Debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <OutputPath>bin\Release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> <Reference Include="System" /> <Reference Include="System.Core"> <RequiredTargetFramework>3.5</RequiredTargetFramework> </Reference> <Reference Include="System.Xml.Linq"> <RequiredTargetFramework>3.5</RequiredTargetFramework> </Reference> <Reference Include="System.Data.DataSetExtensions"> <RequiredTargetFramework>3.5</RequiredTargetFramework> </Reference> <Reference Include="System.Data" /> <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> <Compile Include="Program.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> </Target> <Target Name="AfterBuild"> </Target> --> </Project>

这里面的信息的含义,你没有必要去知道,因为这些配置信息,你是可以通过VS来设置的,当你用VS打开这个文件的时候,VS就会自动加载这个文件里的配置信息,载入这个工程

2、Program.cs:cs就代表C Charp文件(如果创建的是VB项目,那么就是Module1.vb),这里面的代码都是C#的代码,而不能写VB,javascript,java等 的代码,当然你要写也可以,别编译就行,至于Program.cs里面的内容,我们待会再讲。

3、bin文件夹:刚开始里面可能只有一个名为Debug的文件夹,里面有一个.vshost.exe和一个.vshost.exe.manifest文 件,vshost.exe名为宿主进程,是 Visual Studio 2005 中的一项功能,能提高调试性能,支持部分信任调试并支持设计时表达式计算。宿主进程文件的文件名中包含 vshost,并位于项目的输出文件夹中,善于调试的朋友应该就可以体会到这个东西的强大了,我们在调试的时候把鼠标放在要调试的变量上,VS能帮我们计 算出这个值来,都是宿主进程的功劳,但是,启用宿主进程可能会对某些 API 的调用产生影响。在这些情况下,有必要禁用宿主进程以返回正确的结果。禁用宿主进程的步骤如下:

  1. 在 Visual Studio 中打开项目。

  2. “项目”菜单上单击“属性”

  3. 单击“调试”选项卡。

  4. 清除“启用 Visual Studio 宿主进程”复选框。

禁用宿主进程后,将无法使用一些调试功能,或者将导致性能下降。

一般而言,禁用宿主进程后,将出现以下情况:

  • 开始调试 .NET Framework 应用程序所需的时间增加。

  • 设计时表达式计算不可用。

  • 部分信任调试不可用。

至于那个.manifest文件,你用记事本去打开,也可以发现它是一个XML文件,用于组织和描述隔离应用程序及并行组件,其内部的信息如<assemblyIdentity>元素则标识着一个唯一的程序集,和其他信息一起,他们用于COM类、接口及库的绑定和激活,而这些信息,以往都是存储在注册表中的。另外,Manifests也制定了组成程序集的文件及Windows类。

4、obj文件夹:刚新建项目的时候里面的文件夹应该都是空的,那是因为你还没有运行过程序,还没有产生过中间代码及临时文件,所以这里面现在什么都没有。

5、Properties文件夹:里面只有一个文件,AssemblyInfo.cs,顾名思义,是程序集信息文件,那什么是程序集呢?这个我们以后再慢慢谈。

大致了解了VS给我们自动生成的文件之后,我们回到VS里来,看看都发生了什么变化,可以看到“解决方案资源管理器”中用树形结构列出了这个项目的结构,首先是解决方案名称,然后下一级是工程名称,然后再下一级是项目的各个文件夹及文件。如果你的“解决方案资源管理器”中没有出现解决方案的名称,可以通过以下方法设置:“工具”->“选项”->点选“项目和解决方案”->把“总是显示解决方案”勾上即可。

这次先讲到这里,下一篇我们再来讲讲这个项目的一些其他内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值