C#第一天


由于公司的需要,需要对C#程序设计语言进行学习。本来想着C#跟Java差不多也不想花多大时间在他身上。不过今天看了一些老师的视频才知道too yong too simple。任何人任何事情都有我们值得学习的地方。我们用惯了集成环境,当使用命令行编译的时候别有一番风味。

首先最简单的我们根据国际标准实现helloworld程序,文件名是Hello.cs

class Hello
{
	static void Main()
	{
		System.Console.WriteLine("Hello World!");
	}
}


(当然编译这个源文件之前我们必须安装了.NET框架。我使用的是.NET4.0)

我的C# 编译器的路径是在 C:\Windows\Microsoft.NET\Framework\v4.0.30319

里面有一个叫做csc.exe 的可执行文件就是我们需要的编译器。我把当前路径追加到系统path变量,然后就可以在命令行随时调用这个程序了。

首先切换到工作目录,通过命令

csc Hello.cs

编译源文件。然后得到可执行文件Hello.exe,在命令行上运行得到如下结果。

F:\C#LanguageReferenceDemo>Hello.exe

Hello World!

当然这只是第一步。

另外视频告诉我觉得比较有趣的是把源文件编译成dll库。首先我设置两个文件一个叫Namespacetest.cs 另一个叫Namespacetestsub.cs

他们的源代码分别是

//Namespacetest.cs源代码

using System;

 

namespace CG

{

          class Test

          {

                    static void Main()

                    {

                               PrintName a = newPrintName();

                               a.intro();

                    }

          }

}




//Namespacetestsub.cs源代码

using System;

 

namespace CG

{

          public class PrintName

          {

                    public void intro()

                    {

                               Console.WriteLine("Mymname is lanzhiheng");

                    }

          }

}


可以看到一个是有Main方法的程序,另一个文件只有一个类。我们要通过主方法来调用另一个文件中的intro方法打印一段字符串,由于使用同一个命名空间的关系,所以我们

不需要再Main方法里面导入一个命名空间,这也是命名空间的好处,方便管理。

我们有两种方法可以编译并运行着两个文件。

1.两个文件同时编译


csc Namespacetest.csNamespacesubtest.cs


我们就可以得到一个可执行文件Namespacetest.exe(可能是因为Main方法在Namespacetest.cs里面吧)

运行得到:


Mymname is lanzhiheng


2.这种方法比较有趣,我们可以把含有需要调用方法的类的那个文件编译成dll库

通过命令csc /target:libraryNamespacetestsub.cs

查看本目录下有一个dll文件,文件名为Namespacetestsub.dll

然后我们再编译源程序,用这个dll文件作为参考

csc /reference:namespacetestsub.dll Namespacetest.cs

得到可执行文件运行后得到一样的结果


Mymname is lanzhiheng


现在来说明一下dll文件的好处。我们把要打印的字符串修改成。“dll is good!”

我们把该文件重新编译

csc /target:libraryNamespacetestsub.cs

然后运行源程序


原来的字符串就变成 


dll is good!


可见我们只需要修改参考的程序重新编译成dll就可以了,避免了整个软件的重新编译。这也方便了大型程序的维护,我们只需要修改有需要的部分,然后重新编译成库文件。主程序不需要做改动。只要更新了dll文件。然后系统更新后就可以用到新功能了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值