由于要做一个系统,需要用到搜索引擎开发的很多知识点。对于开发语言的选择,我一般不是擅长什么才选择什么的,而是通过对比之后,考虑开发时间和难易程度来选择。尽管现在的开发经验还不足,也只能凭借自己弱弱的判断能力来选择。所以选择了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 = ;
double[][] array = new double[length][];
for(int i=; i<length; i++){
array[i] = new double[];
}

C# -- 学习笔记之基础篇的更多相关文章

  1. Django学习笔记(基础篇)

    Django学习笔记(基础篇):http://www.cnblogs.com/wupeiqi/articles/5237704.html

  2. Python学习笔记之基础篇(-)python介绍与安装

    Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...

  3. mysql学习笔记之基础篇

    数据库学习之基础篇 ① 开放数据库互连(Open Database Connectivity,ODBC ② 结构化查询语言(Structured Query Language) ③ 进入mysql:M ...

  4. java学习笔记之基础篇

    java选择语句之switch   //switch可以用于等值判断 switch (e) //int ,或则可以自动转化成int 的类型,(byte char short)枚举jdk 7中可以防止字 ...

  5. Git学习笔记:基础篇

    git可以说是所有开发者出开发语言之外的最基本的基本功了,熟悉git可以方便的进行代码版本控制,以及与其他开发者进行合作开发.本文内容是我以往学习git时做的笔记,主要是关于git最基本的操作,但 只 ...

  6. vue学习笔记之基础篇

    本文主要记录学习vue的一些基础内容及常用知识点的记录. 1.搭建脚手架 vue init webpack vue-demo 初始化一个使用webpack打包的vue项目 npm install 安装 ...

  7. Python 学习笔记(基础篇)

    背景:今年开始搞 Data science ,学了 python 小半年,但一直没时间整理整理.这篇文章很基础,就是根据廖雪峰的 python 教程 整理了一下基础知识,再加上自己的一些拓展,方便自己 ...

  8. Python学习笔记之基础篇(二)python入门

    一.pycharm 的下载与安装: 使用教程:https://www.cnblogs.com/jin-xin/articles/9811379.html 破解的方法:http://xianchang. ...

  9. datatables 学习笔记1 基础篇

    本文共3部分:基本使用|遇到的问题|属性表 1.DataTables的默认配置 $(document).ready(function() { $('#example').dataTable(); } ...

  10. CSS学习笔记(基础篇)

    CSS概念 CSS 指层叠样式表 (Cascading Style Sheets)(级联样式表) Css是用来美化html标签的,相当于页面化妆. 样式表书写位置: <head> < ...

随机推荐

  1. stanfordCorenlp在python3中的安装使用+词性学习

    1 安装 前言 Stanford CoreNLP的源代码是使用Java写的,提供了Server方式进行交互.stanfordcorenlp是一个对Stanford CoreNLP进行了封装的Pytho ...

  2. qq上传文件进行测试要点分析

    功能 QQ 兼容性 1.Win系统/Mac系统  Android/IOS 品牌 传 1.上传方式:直接拖拽,按回车键上传 2.多个文件同时上传给一人/多人(考虑稳定性,是否存在内存泄露) 3.不是好友 ...

  3. kernel编译速度提高

    1. 使用tmpfs来代替部分IO读写 2. ccache,可以将ccache的缓存文件设置在tmpfs上,但是这样的话,每次开机后,ccache的缓存文件会丢失 3.distcc,多机器编译 4.将 ...

  4. 《secret》读书笔记

    这是在从大连到深圳飞机上看完的一本书,也是大学毕业时室友整理书籍给我的.正好回来的途中,一气呵成读完了. 全书讲了几个事情,其中费了很大篇幅就围绕一个主题,当然书题了——秘密,这个秘密就是“吸引力法则 ...

  5. JavaScript 去字符串空格

    JavaScript 去字符串空格 (利用正则) # str为要去除空格的字符串: # 去除所有空格: str = str.replace(/\s+/g,""); # 去除两头空格 ...

  6. java并发编程实战笔记---(第二章)线程安全:正确性

    ThreadA__________     同步 ______________ 异步 ___________     异步 ThreadB__________         ____________ ...

  7. POJ 2431 Expedition (贪心 + 优先队列)

    题目链接:http://poj.org/problem?id=2431 题意:一辆卡车要行驶L单位距离,卡车上有P单位的汽油.一共有N个加油站,分别给出加油站距终点距离,及加油站可以加的油量.问卡车能 ...

  8. plt-3D打印1

    plt-3D打印 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D ...

  9. prototype 与 __proto__

    原文:http://rockyuse.iteye.com/blog/1426510 说到prototype,就不得不先说下new的过程. 我们先看看这样一段代码: 1 <script type= ...

  10. MySQL的表管理

    首先,先选择数据库(极其特别重要,如果不选择,将默认为第一个数据库) mysql > use db_name; 查看所有表 mysql > show tables; 1.创建表 creat ...