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> < ...
随机推荐
- Go语言 6 结构体、方法和接口
文章由作者马志国在博客园的原创,若转载请于明显处标记出处:http://www.cnblogs.com/mazg/ Go学习群:415660935 结构体(struct)是由一系列具有相同类型或不同类 ...
- java检验银行卡号
/* 校验过程: 1.从卡号最后一位数字开始,逆向将奇数位(1.3.5等等)相加. 2.从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,将个位十位数字相加,即将其减去9),再求和 ...
- SQLite3 C/C++ 开发接口简介(API函数)
from : http://www.sqlite.com.cn/MySqlite/5/251.Html 1.0 总览 SQLite3是SQLite一个全新的版本,它虽然是在SQLite 2.8.13的 ...
- linux/centos定时任务cron
https://www.cnblogs.com/p0st/p/9482167.html cron: crond进程 crontab修改命令 * * * * * command parameter & ...
- SLD 官方实例
基于xml标准的sld格式: <?xml version="1.0" encoding="UTF-8"?> <StyledLayerDescr ...
- 使用 redis 减少 秒杀库存 超卖思路
由于数据库查询的及插入的操作 耗费的实际时间要耗费比redis 要多, 导致 多人查询时库存有,但是实际插入数据库时却超卖 redis 会有效的减少相关的延时,对于并发量相对较少的 可以一用 publ ...
- js实现静态页面跳转传参
最近有个项目: 存静态web服务,一个新闻页面列表出所有新闻摘要信息,然后通过点击新闻详情访问到该新闻的详情页面: 新闻展示的页面通过ajax请求接口获取到新闻的摘要信息,预计想通过id的方式访问到新 ...
- iptables配置文件
https://www.cnblogs.com/itxiongwei/p/5871075.html
- javaWeb之写一个最简单的servlet
1. 创建一个类servletTest2 继承HttpServlet类. public class servletTest2 extends HttpServlet { public servletT ...
- 使用递归计算n的阶乘n!
计算n! 观察公式2可以直接使用递归求解 C++代码如下: #include <iostream> using namespace std; unsigned func(unsigned ...