书写代码需要注意的地方:

  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#语法笔记的更多相关文章

  1. SQL基础语法笔记教程整理

    PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...

  2. C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com

    原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | I ...

  3. SQL 基础语法笔记教程整理

    最近从图书馆借了本介绍 SQL 的书,打算复习一下基本语法,记录一下笔记,整理一下思路,以备日后复习之用. PS:本文适用 SQL Server2008 语法. 首先,附一个发现的 MySQL 读书笔 ...

  4. [python] Pythonic语法笔记

    Pythonic语法笔记 __new__ 在类实例化之前执行的,也就是在init之前执行,可以为这个类写操作.接受的参数不是self而是cls.只有在new方法里返回类才会执行init操作,需要返回父 ...

  5. SQL Server 常用高级语法笔记

    自从用了EF后很少写sql和存储过程了,今天需要写个比较复杂的报告,翻出了之前的笔记做参考,感觉这个笔记还是很有用的,因此发出来和园友分享. 1.case...end (具体的值)case后面有值,相 ...

  6. C#语言不常用语法笔记

    只看过3天C#语法书,了解个大概,与C++等不同之处,或者看开源遇到一些奇异用法,记录一下,脑子不够用的情况下,还是记笔记靠谱. ==================== 顺便吐槽下,这年头得会各种编 ...

  7. solr使用语法笔记

    http://127.0.0.1:8095/shangbiao_sale/select?sort=id+desc&fq=&wt=json&json.nl=map&q=s ...

  8. Java语法笔记

    目录 知识点 不支持 恶心事 与C#的区别 组件 学习资料 母版页 知识点 类 静态方法,即可以在类上被调用,也可以在实例对象上被调用. Java类 先执行静态构造函数,再执行静态方法或静态字段,所以 ...

  9. Java基本语法笔记

    1. 基本格式: public class HelloWprdApp { public static void main(String[] args) {        // TODO Auto-ge ...

  10. Solr常用查询语法笔记

    1.常用查询 q - 查询字符串,这个是必须的.如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京) fq - (filter query)过虑查询,作用:在q查询符 ...

随机推荐

  1. Local host name unknown: java.net.UnknownHostException:

    在Linux下安装完resin后,每次启动都出现如下错误: [11:06:45.617] {watchdog-} WatchdogProcess[Watchdog[],7] starting Resi ...

  2. 令人惊奇的gdb和pstack

    pstack竟然是一个shell脚本,核心是调用gdb的thread apply all bt查看进程的所有线程的堆栈,之后用sed正则展示线程堆栈信息. /proc/pid/exe是一个指向可执行文 ...

  3. hadoop2.1.0和hadoop2.2.0编译安装教程

    由于现在hadoop2.0还处于beta版本,在apache官方网站上发布的beta版本中只有编译好的32bit可用,如果你直接下载安装在64bit的linux系统的机器上,运行会报一个INFO ut ...

  4. Spring和Hibernate集成的HibernateTemplate的一些常用方法总结

    1:get/load存取单条数据 public Teacher getTeacherById(Long id) { return (Teacher)this.hibernateTemplate.get ...

  5. SAP BW 例程(Routine)【开始例程、关键值或特性的例程、结束例程】

    定义 可以使用例程定义关键值或特性的复杂的转换规则. 例程是本地 ABAP 类,它们包括预定义的定义和实施范围.进站和出站参数的 TYPES及方法签名都存储在定义范围中.实际例程创建于实施范围中.使用 ...

  6. BZOJ 3505: [Cqoi2014]数三角形 数学

    3505: [Cqoi2014]数三角形 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/pr ...

  7. BZOJ 2120: 数颜色 分块

    2120: 数颜色 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php? ...

  8. error LNK2019: unresolved external symbol / error LNK2001: 无法解析的外部符号

    在 vc++ 2008 和 vc++ 2010 编译时分别出现上面的错误.一般这种错误是由于引用函数未定义造成的,如外部类库未包含,实现代码未编写等. 但最终检查的结果,却是另外一种情况:文件名重名. ...

  9. iOS开发——网络编程Swift篇&(三)同步Get方式

    同步Get方式 // MARK: - 同步Get方式 func synchronousGet() { //创建NSURL对象 var url:NSURL! = NSURL(string: " ...

  10. 详解C/C++函数指针声明 ( *( void(*)())0)();

     ( *( void(*)())0)(); float *pf; 这个声明的含义是*pf是一个浮点数,也就是说,pf是一个指向浮点数的指针. float *g() , (*h)(); 表示*g()与( ...