c#语法笔记
书写代码需要注意的地方:
1、代码中出现的所有标点都是英文半角 shift键快速切换中文半角和英文半角
shift+空格 切换全角/半角
2、在c#代码中,每行代码的结束,我们都以分号结束,注意:这个分号也是英文半角的分号。
命名规则:
****首先要保证的就是这个变量的名字要有意义。
1 现阶段给变量起名字的时候都以字母开头
2 后面可以跟任意“字母”、数字、下划线.
注意:
1)你起的变量名不要与c#系统中的关键字重复.
2)在c#中,大小写是敏感的. HTML不敏感
3)同一个变量名不允许重复定义(先这么认为,不严谨)
命名规范:
1、Camel 骆驼命名规范。要求变量名首单词的首字母要小写,其余每个单词的首字母要大写。
多用于给变量命名。
2、Pascal 命名规范:要求每个单词的首字母都要大写,其余字母小写。多用于给类或者方法命名。
HighSchoolStudent
highSchoolStudent
占位符{0}...
Console.WriteLine("{0},{1}",变量1,变量2...);
使用方法:先挖个坑,再填个坑。
使用占位符需要注意的地方:
1、你挖了几个坑,就应该填几个坑,如果你多填了,没效果。
如果你少填了,抛异常。
2、输出顺序:按照挖坑的顺序输出。
输出保留几位小数:{0:0.00} //输出保留两位小数
转义字符和@符号:
转义符指的就是一个'\'+一个特殊的字符,组成了一个具有特殊意义的字符。
\n:表示换行
\":表示一个英文半角的双引号
\t:表示一个tab键的空格
\b:表示一个退格键,放到字符串的两边没有效果。
\r\n:windows操作系统不认识\n,只认识\r\n
\\:表示一个\
@符号
1、取消\在字符串中的转义作用,使其单纯的表示为一个'\'
2、将字符串按照编辑的原格式输出
类型转换:
前提条件:类型兼容、要求等号两边参与运算的操作数类型一致 比如:int double都是数字类型
自动类型转换(隐式转换):小的转大的(指取值范围)int--->double
强制类型转换(显式转换):大的转小的(指取值范围)double--->int int x = (int)y;
如果两个变量的类型不兼容比如string 和 int
需要使用Convert.toInt32 //Convert.To对应的类型
另外一种写法:类型.Parse 或 类型.TryParse //int.Parse int.TryParse
/// C#文档注释:
作用:用来对类、方法等进行解释说明。
变量相关:
局部变量:一般在方法内定义的变量
使用规则:1、先声明或定义 2、后赋值或初始化 3、再使用(输出或参与运算)
decimal:主要用于财政金融方面,精度要求比较高就是小数点后面位数比较长银行、会计部门用得比较多。值后面加一个字母m表示money。
char: 最多、最少只能也必须有一个字符,不能存储空,可以存储一个中文字因为采用Unicode编码 16位 一中文占两字节(一字节8位)
运算符:
++、-- //前置、后置一元运算符 (需要几个操作数参与运算才能完成的叫做几元运算符,像++、--只需要一个操作数)
区别:单用体现不出来,参与赋值就体现出来了。但最终结果都会给自己自增1
int x = ++number //number先自增1,再赋值给左边的变量x。
int x = number++ //number先把自己原样赋值给左边的变量x,再自增1。
逻辑运算符:&&、||、!(俗称短路与、短路或)
一般用这三个比较多,而用&、|按位与、或的比较少,为什么:因为效率比较高当然操作二进制方面按位运算有优势。
int x = 5; bool result = (5 < 3) && (x++ > 2) 结果:result = false,x=5因为前半部分为假就可以确定整个表达式的结果,后半部分不再执行。
int x = 5; bool result = (5 > 3) || (x++ > 2) 结果:result = true, x=5原因同上。
异常捕获try和catch之间不能有其他的代码
if else if 和 switch case
共同点:都可以实现多条件分支判断
不同点:if else if多条件区间 switch case多条件定值 一般if else if可以实现 switch case的功能反之则不一定
break
1、可以跳出switch-case结构。
2、可以跳出当前循环。
一般不单独使用,而是跟着if判断一起使用,表示,当满足某些条件的时候,就不再循环了。
封装:
二个意义:第一是把数据和处理数据的方法同时定义在类中、第二是用访问权限控制符使数据隐蔽。
构造函数:
定义:和类名相同,没有返回值,默认不带参数,可以自定义带参数构造函数。
调用:每当用new关键字生成类的实例(对象)的时候,会自动调用类的默认无参数的构造函数。
作用:完成一些初始化工作,例如对数据成员初始化。
析构函数:
变量和类的对象都有生命周期,生命周期结束,这些变量和对象就要被撤销。类的对象被撤销时,将自动调用析构函数。
定义:名字为~类名,无返回类型,也无参数。
调用:不能显式调用,它是被垃圾收集器撤销不被使用的对象时自动调用的。
作用:一些善后工作可放在析构函数中完成。
重载Overload:(构造函数、通用函数)
定义:同一个类中的函数,如果函数名相同,而参数类型和个数不同,认为是不同的函数,仅返回值不同,不能看作不同的函数。
调用:根据生成类的对象方法不同,调用不同的构造函数。
作用:提高程序的可读性,用更少的代码量做更多的事,为“多态”特性打下基础。
注:由于析构函数无参数,因此,析构函数不能重载。
c#语法笔记的更多相关文章
- SQL基础语法笔记教程整理
PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com
原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | I ...
- SQL 基础语法笔记教程整理
最近从图书馆借了本介绍 SQL 的书,打算复习一下基本语法,记录一下笔记,整理一下思路,以备日后复习之用. PS:本文适用 SQL Server2008 语法. 首先,附一个发现的 MySQL 读书笔 ...
- [python] Pythonic语法笔记
Pythonic语法笔记 __new__ 在类实例化之前执行的,也就是在init之前执行,可以为这个类写操作.接受的参数不是self而是cls.只有在new方法里返回类才会执行init操作,需要返回父 ...
- SQL Server 常用高级语法笔记
自从用了EF后很少写sql和存储过程了,今天需要写个比较复杂的报告,翻出了之前的笔记做参考,感觉这个笔记还是很有用的,因此发出来和园友分享. 1.case...end (具体的值)case后面有值,相 ...
- C#语言不常用语法笔记
只看过3天C#语法书,了解个大概,与C++等不同之处,或者看开源遇到一些奇异用法,记录一下,脑子不够用的情况下,还是记笔记靠谱. ==================== 顺便吐槽下,这年头得会各种编 ...
- solr使用语法笔记
http://127.0.0.1:8095/shangbiao_sale/select?sort=id+desc&fq=&wt=json&json.nl=map&q=s ...
- Java语法笔记
目录 知识点 不支持 恶心事 与C#的区别 组件 学习资料 母版页 知识点 类 静态方法,即可以在类上被调用,也可以在实例对象上被调用. Java类 先执行静态构造函数,再执行静态方法或静态字段,所以 ...
- Java基本语法笔记
1. 基本格式: public class HelloWprdApp { public static void main(String[] args) { // TODO Auto-ge ...
- Solr常用查询语法笔记
1.常用查询 q - 查询字符串,这个是必须的.如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京) fq - (filter query)过虑查询,作用:在q查询符 ...
随机推荐
- Spring Filter components in auto scanning
In this Spring auto component scanning tutorial, you learn about how to make Spring auto scan your c ...
- [iOS微博项目 - 1.5] - NavigationBar标题按钮
A.NavigationBar标题按钮 1.需求 在“首页”的导航栏中部设置一个“首页”文字+箭头按钮 统一设置样式 根据实际文本长度调整宽度 消除系统自带的点击高亮效果 点击按钮,箭头上下颠倒 gi ...
- 新手指南:详解Linux Top 命令
Linux top命令简介 top 命令是最流行的性能监视工具之一,我们必需了解.它是一个优秀的交互式工具,用于监视性能.它提供系统整体性能,但报告进程信息才是 top 命令的长处.top 命令交互界 ...
- HDU 2045 不容易系列之(3)—— LELE的RPG难题 (递推)
题意:略. 析:首先是假设前n-2个已经放好了,那么放第 n 个时,先考虑一下第 n-1 放的是什么,那么有两种情况. 如果n-1放的是和第1个一样的,那么第 n 个就可以在n-2的基础上放2个,也就 ...
- flex 弹性合模型
网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...
- Cocos2d-x——Cocos2d-x 屏幕适配总结
本张图以iPhone5为例子,并且采用ResolutionNoBorder的绘制方式(这种方式就是会在原图的基础上出现裁切,一部分图片会显示到屏幕外边去,如AEHD和FBCG就是显示到屏幕外边的内容) ...
- 教你50招提升ASP.NET性能(二十):7条便利的ViewState技巧
(32)Seven handy ViewState tips 招数32: 7条便利的ViewState技巧 Every time I have to deal with a classic ASP.N ...
- 赵雅智_ContentProvider
ContentProvider介绍 ContentProvider是不同应用程序之间进行交换数据的标志API 也就是说:一个应用程序通过ContentProvider暴露自己的数据操作接口,那么无论该 ...
- OA系统权限管理设计(转载)
不论什么系统都离不开权限的管理,有一个好的权限管理模块,不仅使我们的系统操作自如,管理方便,也为系统加入亮点. l 不同职责的人员,对于系统操作的权限应该是不同的.优秀的业务系统,这是 ...
- 实现一个跨平台的mysock库(windows、linux)
源码下载 1.首先确定自己的操作系统为32位还是64位: root@bfq:~/mysock# uname -a Linux bfq 3.11.0-26-generic#45~precise1- ...