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> < ...
随机推荐
- VueJS 获取并编译远程模板 解决方案(简单版)
原文链接:https://savokiss.com/tech/vuejs-remote-template.html see: forum
- 35 - 并发编程-GIL-多进程
目录 1 GIL 1.1 为什么会有GIL 1.2 GIL与thread lock 1.3 个人总结 2 multiprocessing模块 2.1 Process类 2.2 Process类的方法 ...
- 离线下载pip包进行安装【转】
Host-A 不能上网,但是需要在上面安装Python-package 通过另外一台能上网的Host-B主机 1. 下载需要离线安装的Packages 在Host-B上执行如下命令: 安装单个Pack ...
- eclipse maven jetty启动修改默认端口
如何修改eclipse中的maven项目jetty服务器的默认端口那?网上有很多办法,但配置上都没有效果,最后找到了简单.简洁的解决办法,就是在eclipse的jetty启动命令后面加上以下内容 je ...
- Spring Cloud Feign 在调用接口类上,配置熔断 fallback后,输出异常
Spring Cloud Feign 在调用接口类上,配置熔断 fallback后,出现请求异常时,会进入熔断处理,但是不会抛出异常信息. 经过以下配置,可以抛出异常: 将原有ErrorEncoder ...
- hive中行转换成列以及hive相关知识
Hive语句: Join应该把大表放到最后 左连接时,左表中出现的JOIN字段都保留,右表没有连接上的都为空.对于带WHERE条件的JOIN语句,例如: 1 SELECT a.val, b.val F ...
- java基础7 封装
面向对象的三大特征: 1.封装 (将一类属性封装起来,并提供set()和get()方法给其他对象设置和获取值.或者是将一个运算方法封装起来,其他对象需要此种做运算时,给此对象调用) 2.继承 ...
- Android Debug Bridge (adb) device - no permissions
I have a problem connecting HTC Wildfire A3333 in debugging mode with my Fedora Linux 17. Adb says ...
- Lunix含Ubuntu使用总结
错误 鼠标闪烁解决 系统设置->显示—>未知显示器->关闭->应用->选择当前配置 提示sudo: unable to resolve host ,亦即无法解析主机. 原 ...
- Scrapy 增加随机请求头 user_agent
原文: 为什么要增加随机请求头:更好地伪装浏览器,防止被 Ban. 如何在每次请求时,更换不同的 user_agent,Scrapy 使用 Middleware 即可 Spider 中间件 (Midd ...