C# -- 学习笔记之基础篇
由于要做一个系统,需要用到搜索引擎开发的很多知识点。对于开发语言的选择,我一般不是擅长什么才选择什么的,而是通过对比之后,考虑开发时间和难易程度来选择。尽管现在的开发经验还不足,也只能凭借自己弱弱的判断能力来选择。所以选择了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# -- 学习笔记之基础篇的更多相关文章
- Django学习笔记(基础篇)
Django学习笔记(基础篇):http://www.cnblogs.com/wupeiqi/articles/5237704.html
- Python学习笔记之基础篇(-)python介绍与安装
Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...
- mysql学习笔记之基础篇
数据库学习之基础篇 ① 开放数据库互连(Open Database Connectivity,ODBC ② 结构化查询语言(Structured Query Language) ③ 进入mysql:M ...
- java学习笔记之基础篇
java选择语句之switch //switch可以用于等值判断 switch (e) //int ,或则可以自动转化成int 的类型,(byte char short)枚举jdk 7中可以防止字 ...
- Git学习笔记:基础篇
git可以说是所有开发者出开发语言之外的最基本的基本功了,熟悉git可以方便的进行代码版本控制,以及与其他开发者进行合作开发.本文内容是我以往学习git时做的笔记,主要是关于git最基本的操作,但 只 ...
- vue学习笔记之基础篇
本文主要记录学习vue的一些基础内容及常用知识点的记录. 1.搭建脚手架 vue init webpack vue-demo 初始化一个使用webpack打包的vue项目 npm install 安装 ...
- Python 学习笔记(基础篇)
背景:今年开始搞 Data science ,学了 python 小半年,但一直没时间整理整理.这篇文章很基础,就是根据廖雪峰的 python 教程 整理了一下基础知识,再加上自己的一些拓展,方便自己 ...
- Python学习笔记之基础篇(二)python入门
一.pycharm 的下载与安装: 使用教程:https://www.cnblogs.com/jin-xin/articles/9811379.html 破解的方法:http://xianchang. ...
- datatables 学习笔记1 基础篇
本文共3部分:基本使用|遇到的问题|属性表 1.DataTables的默认配置 $(document).ready(function() { $('#example').dataTable(); } ...
- CSS学习笔记(基础篇)
CSS概念 CSS 指层叠样式表 (Cascading Style Sheets)(级联样式表) Css是用来美化html标签的,相当于页面化妆. 样式表书写位置: <head> < ...
随机推荐
- js_网页导出pdf文件
打印当前页面,一开始我认为是需要输出pdf的,后来了解的需求是能够打印就可以了.需求既然都研究了,记录下. 更好的打印方式,window.print();会弹出打印对话框,打印的是window.doc ...
- http介绍
1.http特点: 1>简单快捷: 2>灵活: 3>支持客户端.服务器结构: 4>无连接----无连接的含义是限制每次连接只处理一个请求: 5>无状态----无状态是指协 ...
- 一. Jmeter--使用代理录制脚本
Jmeter脚本是以.JMX格式为主 1. Jmeter也是支持录制的,支持第三方录制方式和代理录制方式. (1).第三方录制主要是通过badboy来录制,录制后另存为jmx格式即可. (2).Jme ...
- 南邮综合题writeup
http://teamxlc.sinaapp.com/web3/b0b0ad119f425408fc3d45253137d33d/index.php fuckjs直接console得到地址 http: ...
- inet_addr_onlink
/* 根据指定设备的ip配置块,判断地址a,b是否在同一子网 */ /* --邻居项要求,在同一子网中的两个设备, 至少有一个接口有相同的子网配置, --也就是说对端的in_dev->ifa_l ...
- MySQL 作业题及答案
MySQL 测试题 一. 表关系: 请创建如下表,并创建相关约束 创建表sql如下: /* Navicat MySQL Data Transfer Source Server : 192.168.11 ...
- Integer类实现方式和注意事项
java.lang.Integer类的源代码: //定义一个长度为256的Integer数组 static final Integer[] cache = new Integer[-(-128) + ...
- NTP算法
网络时间协议 由特拉华大学的David L. Mills热心提供.http://www.eecis.udel.edu/~mills mills@udel.edu 由Reinhard v. Hanxle ...
- 4.rabbitmq 路由
1. 生产者 #coding:utf8 import pika import json import sys severity = sys.argv[1] if len(sys.argv) > ...
- Codeforces 799B - T-shirt buying(STL)
题目链接:http://codeforces.com/problemset/problem/799/B 题目大意:有n件T恤,每件T体恤都分别有价格(每件衣服的价格不重复).前面的颜色.背部的颜色三种 ...