C#复习①
C#复习①
2016年6月15日
08:19
Main Introduction of C# 简单介绍C#
1. C# is very similar to Java (70% Java, 10% C++, 5% Visual Basic, 15% new)
C#与Java好比失散多年的姐妹,长得像但是非同一母亲所生。C# 在吸收Java同时又不忘记从C++那里借鉴些东西过来。不过除了借鉴其他语言之外,C#自身的特点也不能忽略。
与Java相比,在C#中的新特性有不少:引用参数;堆栈分配对象;分块矩阵;委托;版本控制;lambda表达式;扩展方法;
还有一些语法糖(Syntactic Sugar) : Component-based programming 基于组件编程;索引器;foreach循环;迭代器;类似SQL的查询表达式。
2.从Hello World看C#程序的结构
文件命名: Hello.cs
程序:
using System; class Hello { static void Main() { Console.WriteLine("Hello World"); } }
编译指令: csc Hello.cs
运行指令:Hello
运行结果:Hello World
首先程序导入namespace命名空间System,声明Hello类,程序入口Main, 控制台输出语句
通过下面的图进行更详细的说明:
一个C#程序可以有多个.cs文件组成,每个.cs文件下面可以包含多个命名空间,每个命名空间下面可以包含多个类。如果命名空间包含结构体,接口,委托,枚举,一个命名空间可在其他文件中重复打开。
因此最简单的程序就是单个类,单个文件,默认命名空间。
3.下面给出简单的由两个文件组成的程序。
4.针对上述程序的分析:
在Counter.cs文件中声明了
函数Add ( 可见性为public,无返回值void,传入参数类型为int);
函数Val ( 可见性为public,返回值为int,无参数)
在Prog.cs文件中:
函数的入口Main();
调用了Counter中的Add方法和Val方法
函数的编译指令分析:
csc /target:exe Counter.cs Prog.cs
使用指令生成目标文件.exe(其中该exe文件可以自命名,如果仅仅指明生成.exe则默认命名问包含程序入口的Main()的文件名称,在此即生成Prog.exe)
使用动态链接语言DLL运行程序的编译指令:
csc /target:library Counter.cs
执行后生成 Counter.dll文件
csc /reference:Counter.dll Prog.cs
执后生成Prog.exe
后缀为exe文件的不同:
在此需要清楚的是,在Java中通过编译生成的.exe文件是二进制文件,计算机可以直接运行。
但是在C#中虽然是.exe后缀,但是其文件类型为文本文件, 不能直接运行。
作者: 伊甸一点
出处: http://www.cnblogs.com/zpfbuaa/
本文版权归作者伊甸一点所有,欢迎转载和商用(须保留此段声明),且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文链接 如有问题, 可邮件(zpflyfe@163.com)咨询.