zoukankan      html  css  js  c++  java
  • C#基础知识点梳理一

      嗯~,这是我的第一篇博客,作为一个程序小白来到这里学习知识,转眼注册博客园已经快一年了,嗯,整理一些小知识,既是自己的知识梳理,也是和大家分享和共勉,感谢…

    先介绍一些最基本的名词解释吧

    CLR(Common Lanauage Runtime)  公共语言运行库

    BCL(Base Class Libary)  基类库

    GC(Garbage Collector)  垃圾收集器

    CIL(Common Intermediate Language)  公共中间语言

    CLI(Common Language Infrastructure)  公共语言基础结构

    emm..接下来是格式规范啦,我觉得有良好的代码习惯很重要,格式和注释

    Pascal 大小写 一般用在类,方法,命名空间,属性和公共字段上

    Camel大小写  一般用在局部变量名称和方法形参名称上

    下划线加Camel大小写 一般用在私有成员和受保护字段上

    标识符:字母和下划线都可以但是数字不能放在首位,@只能放在首位但是不推荐使用,特别注意,标识符是区分大小写的!

    var实际上是编译期抛给我们的“语法糖”,一旦被编译,编译期会自动匹配var 变量的实际类型,并用实际类型来替换该变量的申明

    dynamic被编译后,实际是一个object类型,只不过编译器会对dynamic类型进行特殊处理,让它在编译期间不进行任何的类型检查,而是将类型检查放到了运行期。

    小知识

    每个C#程序必须有一个类且带有Main()方法;语句块是指用{     }包围的一条或多条语句,它在语法上相当于一条语句

    Write 不换行显示  WriteLine换行显示    ({0}  {1}    {2}, 1 , 5 ,7}从零开始  一一对应输出     {0:C}格式化字符串

    值类型:存储在栈里(包括13种预定义简单类型,结构和枚举)

    引用类型:栈里存储引用,指向堆里的数据(object,string,dynamic,||  class,interface,delegete,array)三种非简单类型

    大方法

    16种预定义类型,6种用户定义类型

    类型 class  结构类型 struct  数组类型 array  枚举类型 enum  委托类型 delegate  接口类型 interface

    分点精讲   ——类

    类成员的类型:

    数据成员存储数据:字段和常量

    函数成员执行代码:方法,运算符,属性,索引器,构造函数,事件,析构函数

    常量:Const 本地常量 声明时赋值 不能声明为static 不可改变   readonly常量  随时赋值  运行时确定常量的值

    方法:有名称的可执行代码块  void SumNum()  返回类型 方法名  参数列表   Sum sum = new Sum()   声明并初始化一个方法

    形参:本地变量,声明在方法的参数列表中 void SumNum(int x,int y) 

    实参:初始化形参的表达式称为形参 SunNum(5,3)

    将引用类型作为值参数传递:赋一个新值给形参,将切断形参与实参的关联,并且在方法调用结束后,新对象也不复存在(分离改变)

    将引用类型对象作为引用参数传递:赋一个新值给形参,在方法调用结束后,该对象仍然存在,并且是实参所引用的值(一起改变)

    引用参数:ref修饰符  (实参必须是变量 在用作实参前必须被赋值)就像是形参作为实参的别名  方法和调用上都要用修饰符

    输出参数:out修饰符 (实参必须是变量,在读取之前必须被赋值 必须在方法内进行赋值)

    参数数组:一个参数列表只能有一个,且必须是最后一个,用params修饰符  void ListInts(params int[] inVals)  修饰符 int型参数数组 参数名称

    两个为参数数组提供实参  ListInts(10,20,30)     方法二    int[] intArray = {1,2,3}; ListInts(intArry);

    一个类中可以有一个以上的方法拥有相同的名称,这叫做方法重载,但是必须有不同的签名( 方法名称,参数数目,数据类型和顺序,参数修饰符)

    命名参数:只要显式的指定参数的名字,就可以以任意顺序在方法调用中列出实参  int result = mc.Calc(c:2,a:4,b:3);

    可选参数:方法定义时确认值,调用时可以选择不覆盖   public int Calc(int a,int b = 3)

    递归:调用自身 public void Count(int intVal){  if(inVal == 0) return; else Count(InVal -1)    Console.WriteLine("{0}“,inVal );}

    静态函数成员:不能访问实例成员,能访问其他静态成员(字段,类型,方法,属性,构造函数,运算符,事件)

    访问修饰符:

    public 公有的  没有限制,任何地方可以访问。

    private 私有的  当前类的内部可以访问

    internal 内部的    当前程序集内部。

    protected 受保护的  当前程序集内部,并且所有的子类内部也可以访问。

    protected internal 受保护的内部的  当前类内部,所有子类内部,当前程序集内部都可以访问。

    属性:有类型,可以被赋值和读取,可以有静态属性,函数成员,不分配内存,属于命名类的成员,set{   }   get{   }(必须包含一条return语句)  为属性赋值 从属性获取值

    两种命名约定:属性使用Pascal大小写  字段使用Camel大小写  方法二:属性使用Pascal大小写  字段使用下划线开始的Camel大小写

  • 相关阅读:
    Android 2.2 r1 API 中文文档系列(11) —— RadioButton
    Android API 中文 (15) —— GridView
    Android 中文 API (16) —— AnalogClock
    Android2.2 API 中文文档系列(7) —— ImageButton
    Android2.2 API 中文文档系列(6) —— ImageView
    Android 2.2 r1 API 中文文档系列(12) —— Button
    Android2.2 API 中文文档系列(8) —— QuickContactBadge
    [Android1.5]TextView跑马灯效果
    [Android1.5]ActivityManager: [1] Killed am start n
    Android API 中文(14) —— ViewStub
  • 原文地址:https://www.cnblogs.com/simple123/p/9278675.html
Copyright © 2011-2022 走看看