• C#语法复习1


    一、C#与.net框架

    .net是语言无关的。

    程序的执行流程:

    .net兼容语言的源代码文件

    .net兼容编译器

    程序集(公共中间语言(CIL)common intermediate language)

    托管代码:.net框架下的代码。 C# / VB

    非托管代码:不在CLR控制之下运行的代码。 C/C++DLL

    CLI 这是在CLR之上的又一个概念,我们称之为 公共语言基础结构(common language infrastructure),它是一个标准。

    把所有的.net框架的组件连接在一起的组件。

    二、C#编程概述

    class simple

    {

    static void Main()

    {

    Console.writeLine("I love you !");

    }

    }

    程序以一个类为开头,且类里面有一个Main函数为起始。并且首字母大写。并且为静态方法。

    概念: 标识符、关键字、程序的起始点、空白、语句、块

    从程序输出文本:WriteLine = Write + (换行) 、 格式字符串(Console.WriteLine("three num is {1} and {0} and {1}",3,6);)

    格式化数值字符串:格式说明符语法如下:分别是(索引号、对齐说明符(正为右对齐,负为左对齐)和格式字段)

    {index, alignment:format}

    注释: 单行注释 // 、带分隔符的注释/* */、文档注释/// .

    三、类型、存储和变量

    1、C#是一组类型声明

    C = 函数+数据类型 C++ = 函数 + 类 C# = 一组数据类型声明

    一般,我们用命名空间把类型声明包含起来,这样容易管理。

    什么是类型?类型其实就是一种模板。实例化类型其实就是

    1. 变量类型

      预定义类型: 简单类型:(11种数值类型、非数值类型(一种Unicode char型、一种bool型))、3种非简单类型(string object dynamic)

      用户定义类型:类类型 class struct array enum 、 delegate interface。

      其中:预定义类型只需要实例化,而用户定义类型需要两步:声明和实例化。

      byte val = 12; //无符号整型

      sbyte val1 = -12;//有符号整型

      char val2 = 'h';//字符类型,其值为一个Unicode字符

      short sa = -12;

      ushort usa = 12;

      int a;

      int b = 100;//32位 4个字节

      uint c = 10000;

      long lc = 1222222;//64位

      ulong ulc = 22222;

      string str;

      float f1 = 12.0F;// 8个字节

      double d1 = 1.23;

      bool vall = true;

    2. 堆和栈

      运行中的程序使用两个地方来存储数据:栈与堆。

      栈:某类型变量的值、函数的参数、程序的当前环境。 且入栈和出栈是有一定顺序的。

      堆:存储某类型的数据对象,堆里面的内存能够以任意顺序存入和移除。且CLR会自动清理垃圾。

    3. 值类型与引用类型

      类型被分为两种,值类型与引用类型,这两种类型的对象在内存中的存储方式不同。

      值类型只需要一段单独的内存,用于存储实际的数据。

      引用类型需要两段内存。一段存储实际的数据(堆中),一段是一个引用,指向数据在堆中的存放位置。

      是不是说:引用类型的对象一定一部分在堆中,一部分在栈中。

      值类型: 数值类型+struct+enum

      引用类型:非简单类型 object string dynamic + class + interface + delegate + array

    4. 变量

      类字段、结构字段和数组字段可以自动初始化。

      静态变量:变量的类型在编译的时候确定并且运行的时候不可以修改。

      动态变量:与上面相反,运行时解析,是为了兼容某些Python之类的值。

    四、类的基本概念

    1、类的概述

    类是一种活动的数据结构。它是一种可以存储数据并执行代码的数据结构,它包含数据成员与函数成员。

    数据成员存储数据,函数成员执行代码。类是逻辑相关的数据好函数的封装,通常代表真实世界中或概念上的事物。

    2、程序和类

    运行中的程序其实是一组相互作用的对象的集合。

    C#中类的声明没有; 区别与C++。 class + 类名 { xxxxx }

    与C++不同的是,C#在外部不能申明全局变量。所有字段必须在类型声明 的内部声明。

    类成员包括: 字段 + 方法。

    显式与隐式字段初始化:对于值类型,如果没有初始化,会被隐式初始化为默认值。

    对于方法:与C++不同,C#没有全局函数,且必须包含有返回类型。

    当一个类没有被实例化,也就是相当于没有被分配内存,只有实例化的时候,才会被分配空间,比如int 类型,我们会给它分配空间吗,只有定义了int类型的某一个变量,我们才会分配。也就是说 类的声明与定义一个int 类型是一致的。

    为数据分配内存:

    Dealer the; //只是保持了引用。没有为类里面的成员分配内存。要为实际数据分配内存,需要使用new 运算符。

    New 运算符的作用是为任意类型的实例分配并初始化内存。依据类型的不同从栈或堆中分配。

    访问修饰符:私有的、共有的、受保护的、内部的、受保护内部的(private、public、protected、internal、protected internal)

    在定义类时,默认为private,无论是字段还是方法,都是一样。

    一般我们用矩形框表示一个类,私有的成员在矩形框的内部,共有的漏出一个头。

    在类的内部,成员之间可以相互访问,包括字段与方法。

    但是,要从类的外部访问成员必须是 变量名称.成员名称。

  • 相关阅读:
    jmeter定时器
    创建视图的语句
    实时监控-网络、磁盘
    Nginx环境搭建准备
    nmon使用命令
    tomcat服务器安装方法
    Selenium_高级操作_鼠标操作选择下拉框
    实例:对象库如何工作:
    自动化
    【Linux】环境搭建
  • 原文地址:https://www.cnblogs.com/zhuxuekui/p/4152568.html
Copyright © 2020-2023  润新知