`
dai137hh
  • 浏览: 33979 次
社区版块
存档分类
最新评论

C#基础语法总结

阅读更多

C#基础语法总结
2012年01月14日
   第一部分 基础知识
  1.C#语法规则
  (1)标示符,关键字,用户变量区分大小写;在输入命名时首字母要大写,第二个字段首字母也要大写;
  (2)习惯用分号结尾(;)和花括号{};
  (3)NameSpace命名空间,用于将同名的类区分在不同名称的命名空间内;
  (4)Using用法是引用一个程序集中的命名空间的名称,然后就可以在代码中直接调用该命名空间中的所有方法;
  (5)行注示:双斜杠(//);
  块注示:/**/
  代码提示信息
  #region "提示信息"
  //内容
  #endRegion
  (6)文件-新建-项目-控制台模板应用程序
  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  namespace TextHello
  {
  class Program
  {
  static void Main(string[] args) //程序的入口,采用静态方法
  {
  System.Console.ReadLine(); //输入流信息
  System.Console.WriteLine("Hello World"); //输出流信息
  }
  }
  }
  注:Main()函数;
  static  void Main()
  static  void Main(string[] args)//args是函数命令行参数
  static  int Main()//返回一个表示函数终止状态的int值
  static  int Main(string[] args)//返回一个表示函数终止状态的int值
  复制代码
  (7)断行符分号(;),换行符号(\N),字符串连接符加号(+);
  (8)Windows模板应用程序有两种
  一种是Windows应用程序界面,另一种是WPF是微软最新一代客户端展现层技术,利用它编写的应用程序可以在桌面和Internet之间搭起桥梁,未
  来占有较大的优势;
  以后所的有Windows界面以WPF为主;
  (9)变量和常量:在程序运行时临时存储信息的容器,变量的生生命周期采决于变量的作用域,变量在声明时C#不允许隐式声明,在使用之前必
  须先给变量赋初值,因为未赋值之前变量的值是随机的;例如:
  int i;
  string text;//在循环外未初始化
  for (i = 0;iC:接口
  interface IMyInterface
  ...{
  //接口成员
  }
  复制代码
  (12)数组
  A:一维数组格式:量类型[] 数组名 = new 变量类型[元素个数]...{元素0,元素1,元素2...}
  For循环到.Length
  for(i=0,iC:二维数组(多维)
  格式: 变量类型[,] 数组名 = new 变量类型[一维元素个数,二维元素个数]...{...{元素00,元素01,元素02...},...{元素10,元素11,元素
  12...}...}
  //二维实例:
  //二维字串数组
  //string[,] list=new string[3,3]{{"abc","123","456"},{"abc","123","456"},{"abc","123","456"}};
  //string[,] list ={ { "abc", "123", "456" }, { "abc", "123", "456" }, { "abc", "123", "456" } };
  string[,] arryedu = new string[5,2]   {   {   "初中 ",   "10 "   },   {   "高中 ",   "11 "   },
  {   "中技 ",   "12 "   },   {   "中专 ",   "13 "   },   {   "大专 ",   "14 "   }   };
  int edunum;
  for (edunum = 0; edunum c'},{'a','b','c'},{'a','b','c'} };
  int u, p;
  for (u = 0; u >
    比较运算符:小于  小于等于 =
    比较运算符:==,!=
    逻辑运算符:&
    逻辑运算符:^
    逻辑运算符:|
    逻辑运算符:&&
    逻辑运算符:||
    比较运算符:等于 =
  *=
  /=
  %=
  +=
  -=
  >=
  &=
  ^=  |=
    后缀的++和--
  (14)字符串操作:
  string myString = "I have a dream.";
  char myChar = myString[2];//把string变量当作只读的char数组使用,不能改写myString[2]
  char[] myChars = myString.ToCharArray();
  char[]separator = {' '};//设定分隔符
  string[] myWords =myString.Split(separator);//分隔成数组
  Console.WriteLine("myString have {0} chars",myString.Length);
  myString=myString.ToLower();//转小写
  myString=myString.ToUpper();//转大写
  myString=myString.Trim();//删前后空格
  myString=myString.TrimStart();//删前空格
  myString=myString.TrimEnd();//删后空格
  myString=myString.PadLeft(位数);//前补空格到指定位数
  myString=myString.PadRight(位数);//后补空格到指定位数
  myString=myString.PadLeft(位数,字符);//前补指定字符到指定位数
  char[] trimChars = {"e","#","*"};
  myString = myString.trim(trimChars);//删指定字符
  复制代码
  2.控件流程
  流程控制:if..else  if…else if…else   switch…case while for  do…while   break continue
  (1)条件语句
   A,If语句:通用判断
      If (条件1)
        单行代码1;
      Else
        单行代码2;
      If (条件1)
      {多条语句;}
      Else
      {多条语句;}
    B,Switch语句:用于同条件多结果判断
      Switch (条件)
       ...{
        Case 结果1:
        代码1;
        break;
        Case 结果2:
        代码2;
        break;
        Case 结果3:
        代码3;
        goto Case  结果2;//此时Case..相当于一个Label
        Case 结果4:
        代码4;
        Return;
        Case 结果5:
        Case 结果6:
        Case 结果7:
        代码567;//只要满足上面三个Case之一就执行。
        break;
        ...
        Default:
        代码;
        break;
       }
  复制代码
    C,三元运算语句:(条件)?True结果:False结果
      常用于简单赋值语句:string myString = (myIntegerC,For...: 使用计数器循环。
      For (变量;条件;操作)//可以在此时声明变量,但作用域就仅限于循环内了。
      ...{...
      Break;//跳出整个循环
      Return;
      Continue;//中止当前循环,继续下一个循环
      Goto 标签;//禁止从循环外部用goto跳入循环内部
      }
  复制代码
  第二部 面向对象
  面向对象的关键概念
  抽象(Abstraction)
  封装(Encapsulation)
  多态(Polymorphism)
  继承(Inheritance)
  1. 访问修饰符
  c#的访问修饰是权限控制的一个子集在编程中,需要用访问修饰符来指定其访问权限
  目前 C# 支持使用以下访问修饰符之一来指定其可访问性
  public  是类和类成员的访问修饰符,公共访问是允许的最高访问级别,类内类外都有访问权限;
  private 是一个成员访问修饰符,私有访问是允许的最低访问级别,私有成员只有在声明它们的类和结构体中才是可访问。
  protected 是一个成员访问修饰符,只有在它受保护的类中或者派生类中可以访问该类中成员。
  internal  是类和类成员的访问修饰符,同一程序集中的任何代码都可以访问该类型或成员,但其他程序集中的代码不可以。
  protected internal  同一程序集中的任何代码或其他程序集中的任何派生类都可以访问该类型或成员。
  访问关键字:
  base->访问基类的成员。
  this->引用调用一个方法的当前对象。
  2. 可以作用于类和结构的修饰符
  (1) abstract:指示某个类只能是其他类的基类。
  可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽
  象类中的成员必须通过从抽象类派生的类来实现。
  (2) sealed:指定类不能被继承。
  可以应用于类、实例方法和属性。密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方
  法或属性时,sealed修饰符必须始终与override一起使用。
  在类声明中使用 sealed修饰符可防止继承此类
  (3) static:声明属于类型本身而不是属于特定对象的成员。
  声明属于类型本身而不是属于特定对象的静态成员。可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数
  或类以外的类型。
  (4) partial:在整个同一程序集中定义分部类和结构。
  分部类型定义允许将类、结构或接口的定义拆分到多个文件中。
  3. 只能用在方法或变量的修饰符
  (1) const:指定无法修改字段或局部变量的值。
  用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数,不能被修改。
  (2) new:从基类成员隐藏继承的成员。
  在用作修饰符时,new关键字可以显式隐藏从基类继承的成员。隐藏继承的成员意味着该成 员的派生版本将替换基类版本。在不使用 new修饰
  符的情况下隐藏成员是允许的,但会生成警告。使用 new显式隐藏成员会取消此警告,并记录代之以派生版本这一事实。
  若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并使用 new修饰符修饰该成员。
  对同一成员同时使用 new和override是错误的,因为这两个修饰符在含义上相互排斥。使用 new会用同样的名称创建一个新成员并使原始成员
  变为隐藏的,而 override则扩展继承成员的实现。
  (3) virtual:在派生类中声明其实现可由重写成员更改的方法或访问器。
  用于修饰方法、属性、索引器或事件声明,并且允许在派生类中重写这些对象。
  调用虚方法时,将为重写成员检查该对象的运行时类型。将调用大部分派生类中的该重写成员,如果没有派生类重写该成员,则它可能是原始
  成员。
  默认情况下,方法是非虚拟的。不能重写非虚方法。
  virtual修饰符不能与 static、abstract和 override修饰符一起使用。
  除了声明和调用语法不同外,虚拟属性的行为与抽象方法一样。
  (4) override:提供从基类继承的虚拟成员的新实现。
  要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现,必须使用 override修饰符。
  (5) readonly:声明一个字段,该字段只能赋值为该声明的一部分或者在同一个类的构造函数中。
  是可以在字段上使用的修饰符。当字段声明包括 readonly修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的
  构造函数中。在此示例中,字段year的值无法在ChangeYear方法中更改,即使在类构造函数中给它赋了值。
  4. 特殊作用的修饰符
  (1) event:声明事件。
  类和结构使用事件将出现的可能影响对象状态的事件通知给对象。
  (2) extern:指示在外部实现方法。
  用于声明在外部实现的方法。extern修饰符的常见用法是在使用 Interop 服务 调入非托管代码时与DllImport属性一起使用;在这种情况下,
  该方法还必须声明为 static。
  extern关键字还可以定义外部程序集别名,使得可以从单个程序集中引用同一组件的不同版本。
  将 abstract和 extern修饰符一起使用来修改同一成员是错误的。使用 extern修饰符意味着方法在 C# 代码的外部实现,而使用 abstract修
  饰符意味着在类中未提供方法实现。
  (3) unsafe:声明不安全的上下文。该上下文是任何涉及指针的操作所必需的。
  (4) volatile:指示字段可由操作系统、硬件或并发执行线程等在程序中进行修改。
  volatile关键字表示字段可能被多个并发执行线程修改。声明为 volatile的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确
  保该字段在任何时间呈现的都是最新的值。
  volatile修饰符通常用于由多个线程访问而不使用 lock 语句(C# 参考)语句对访问进行序列化的字段。
  volatile关键字可应用于以下类型:
  (1)引用类型。
  (2)指针类型(在不安全的上下文中)。
  (3)整型,如 sbyte、byte、short、ushort、int、uint、char、float 和 bool。
  (4)具有整数基类型的枚举类型。
  (5)已知为引用类型的泛型类型参数。
  (6)IntPtr 和 UIntPtr。
分享到:
评论

相关推荐

    C# 基础语法.pdf (纯干货)

    C#基础语法,适合刚入门的小白和对C#有一定基础的码友们巩固基础

    c#语法大全

    c#语法大全

    C# 语法全解1(PDF版)

    适合c#初学者。 先传前五章。 基本知识、变量、类型、语法结构等

    C#基础知识汇总

    对于C#基础语法、引用类型、函数、变量汇总的一个文本,希望能帮助你们

    C#学习笔记——基本语法

    本文给大家详细介绍了C#的基本语法知识以及一些基础知识的汇总,非常的简单基础,有需要的小伙伴可以参考下

    C#语法基础(vc2005教程总结)

    C#语法基础 从vc2005教程里整理出来的,为初学者提供便利...几乎的重点都点到了..熟记这些c#语法就很简单了....

    C#基础概念文档,详细介绍了c#的基本语法知识

    c#基础概念文档,是由我在学习了一遍又一遍的网上c#基础课程,根据自身体验和视频中老师的总结合并而成的一篇介绍c#的基本语法的文档,你在里面可以清楚了解到语法的细节和注意事项,并且后面我会根据后续自身的开发...

    C#基础知识库(含有基本概念和语法规则)

    这是本人整理的C#基础知识,里面包含有C#基本概念,正式的语法规则,知识点总结调理清晰,麻烦各位看看...

    C#基础语法:结构和类区别详解

    主要介绍了C#基础语法:结构和类详解,本文总结了一些结构和类的不同之处并给出了测试区别特性代码,需要的朋友可以参考下

    C#初级中级学习代码 每个知识点都可以正常使用 C#详细源码

    初级中级C#程序员用到的知识点,C#基础源码,每个里面都有详细的解释,算是学习工作帮助很大的工具 资源内容:01委托的基本认识,02委托的基本应用,03委托的基本应用练习与总结,04_02自己写泛型委托,04_03Action泛型委托,...

    Python系列教程一Python的基础语法(二).pdf

    Python系列教程⼀ 系列教程⼀Python的基础语法(⼆) 的基础语法(⼆) 前⾔ 前⾔ 通过上⼀章的学习,我们已经初步了解到Python是⼀种解释型、⾯向对象、动态数据类型的⾼级程序设计语⾔,当然也是⼀门脚本语⾔,像...

    《.NET_C#面试手册》.pdf

    .net面试题汇总,涵盖基础语法,面向对象,集合,异常,泛型,LINQ,委托,多线程,数据库概念

    CSharp-Learning:用实例教你学C#语法(通过示例学习C#)

    博客目录之前看了一些文章,但是没有总结,从今年开始逐渐将自己的所看所想的记录下来,本博客侧重于C#基础语法的知识学习,通过示例的方式达到称为语法的目的。同时也是为了跟更多的程序员交流,欢迎大家一起讨论,...

    C#微软培训资料

    第二部分 C#程序设计基础.28 第四章 数 据 类 型 .28 4.1 值 类 型 .28 4.2 引 用 类 型 .33 4.3 装箱和拆箱 .39 4.4 小 结 .42 第五章 变量和常量 .44 5.1 变 量 .44 5.2 常 量 .46 5.3 小 结 .47 ...

    C#开源资源大汇总

    NKalore 的语法简单、直观,它的编译器是基于Mono C#编译器(MCS)。NKalore 目前只能在命令行或#Develop 内部使用。NKalore 兼容公共语言规范CLS(Common Language Specification),它可以在任何.NET 开发环境中使用,...

    用C#编写的汇编集成环境

    Visual C#是一种方便快捷的编程语言,其所属的编程平台virual studio强调以组件为基础的软件开发方法。利用C#开发Windows应用程序可以在速度上获得极大的提高。另外,值得称道的是,C#所开发的软件具有高度的可移植...

    C#学习笔记VS2008(基础知识复习)

    学习C#有一段时间了,总结的学习笔记 ,还不够全面 最近也在积极的编写,谢谢大家的支持! 最近的知识 复习资料

    2023年最新c#入门介绍.md

    C#具有与Java非常相似的语法和编程风格,但在某些方面有自己的特色,如更好的.NET框架集成等。 总的来说,这篇文章为初学者全面介绍了C#这门编程语言的背景、特点和核心功能,为后续深入学习奠定了基础。 这份简明扼要...

    Visual C#2010 从入门到精通(Visual.C#.2010.Step.By.Step).完整去密码锁定版 I部分

    visual c# 2010新增了大量可圈可点的丰富特性,本书围绕着基础知识和这些新特性全面介绍了如何利用visual studio 2010和.net framework 4.0编写应用程序。书中沿袭深受读者欢迎的step by step风格,通过丰富的练习...

Global site tag (gtag.js) - Google Analytics