由于要做一个系统,需要用到搜索引擎开发的很多知识点。对于开发语言的选择,我一般不是擅长什么才选择什么的,而是通过对比之后,考虑开发时间和难易程度来选择。尽管现在的开发经验还不足,也只能凭借自己弱弱的判断能力来选择。所以选择了C#。
- 基本语法 (C#与java的比较)
(1)语法上,C#和java非常类似,主要的差别不是语言本身,而是所执行的平台。java程序运行需要运行环境JRE,而C#运行环境CLR(Common Language Runtime)。
(2)java源码可以被编译成字节代码的一种中间状态,然后由已提供的虚拟机来执行这些字节代码。而C#代码也被编译成一种中间状态,称为中间语言(1L),1L代码则被传输由CLR管理的执行进程上,然后通过CLR的JIT编译器编译成本地代码执行。
(3)C#语言的文件名不受文件中的类名限制,而在java中有此限制。
(4)另外,C#也提供了java中没有的功能,如:运算符重载、封箱和装箱,以及方法隐藏等。
(5)C#中,也区分大小写,但string和String对象开可以通用。
(6)C#中的using对应java中的import。如:using System。看一下下面简单例子:
Class HelloWord{ public static void Main(){ //和java一样每个程序只有一个入口 System.Console.WriteLine("Hello Word"); } }
由于.NET Framework包含13000多个类,所以用命名空间来将其归类,便于查找,上面代码也可以写成,
using System; Class HelloWord{ public static void Main(){ //和java一样每个程序只有一个入口 Console.WriteLine("Hello Word"); //不需加命名空间前缀 } }
(7)C#中一个项目最多只能定义一个可执行的类,而java是每个类都可以有一个main方法。但是在编程过程中,需要很多可以直接执行的测试,所以可以把这些功能不同的代码封装在不同的方法中。
(8)C#3.0中增加了一个关键字var,可以用var来声明任何类型的局部变量。(注意:是局部变量)
var这种类型称为隐含类型。该类型的变量需要根据初始化表达式来推断变量的类型。var声明变量后,变量类型就确定了,不会再变。
- C#创建多维数组
一条new语句可以创建一个一维数组,但是如果要创建二维数组分配空间则需要一个循环。
例如:为一个行10,列20的二维数组分配空间。代码如下:
int length = 10; double[][] array = new double[length][]; for(int i=0; i<length; i++){ array[i] = new double[20]; }