zoukankan      html  css  js  c++  java
  • 【318】C# 学习笔记

    笔记 01:C# 数据结构


    引用类型(Reference types)

    引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。

    换句话说,它们指的是一个内存位置。使用多个变量时,引用类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。内置的 引用类型有:objectdynamicstring

    对象(Object)类型

    对象(Object)类型 是 C# 通用类型系统(Common Type System - CTS)中所有数据类型的终极基类。Object 是 System.Object 类的别名。所以对象(Object)类型可以被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值。但是,在分配值之前,需要先进行类型转换。

    当一个值类型转换为对象类型时,则被称为 装箱;另一方面,当一个对象类型转换为值类型时,则被称为 拆箱

    object obj;
    obj =100;// 这是装箱

    动态(Dynamic)类型

    您可以存储任何类型的值在动态数据类型变量中。这些变量的类型检查是在运行时发生的。

    声明动态类型的语法:

    dynamic<variable_name>= value;

    例如:

    dynamic d =20;

    动态类型与对象类型相似,但是对象类型变量的类型检查是在编译时发生的,而动态类型变量的类型检查是在运行时发生的。

    字符串(String)类型

    字符串(String)类型 允许您给变量分配任何字符串值。字符串(String)类型是 System.String 类的别名。它是从对象(Object)类型派生的。字符串(String)类型的值可以通过两种形式进行分配:引号和 @引号。

    例如:

    C# string 字符串的前面可以加 @(称作"逐字字符串")将转义字符()当作普通字符对待,比如:

    string str =@"C:Windows";

    等价于:

    string str ="C:\Windows";

    @ 字符串中可以任意换行,换行符及缩进空格都计算在字符串长度之内。


    笔记 02:C# 变量


    C# 中的变量定义

    C# 中变量定义的语法:

    <data_type><variable_list>;

    在这里,data_type 必须是一个有效的 C# 数据类型,可以是 char、int、float、double 或其他用户自定义的数据类型。variable_list 可以由一个或多个用逗号分隔的标识符名称组成。

    一些有效的变量定义如下所示:

    int i, j, k;char c, ch;float f, salary;double d;

    您可以在变量定义时进行初始化:

    int i =100;

    C# 中的变量初始化

    变量通过在等号后跟一个常量表达式进行初始化(赋值)。初始化的一般形式为:

    variable_name = value;

    变量可以在声明时被初始化(指定一个初始值)。初始化由一个等号后跟一个常量表达式组成,如下所示:

    <data_type><variable_name> = value;

    一些实例:

    int d =3, f =5;/* 初始化 d 和 f. */
    byte z =22;/* 初始化 z. */
    double pi =3.14159;/* 声明 pi 的近似值 */
    char x ='x';/* 变量 x 的值为 'x' */

    笔记 03:C# 运算符


    其他运算符

    下表列出了 C# 支持的其他一些重要的运算符,包括 sizeoftypeof? :

       

    运算符描述实例
    sizeof() 返回数据类型的大小。 sizeof(int),将返回 4.
    typeof() 返回 class 的类型。 typeof(StreamReader);
    & 返回变量的地址。 &a; 将得到变量的实际地址。
    * 变量的指针。 *a; 将指向一个变量。
    ? : 条件表达式 如果条件为真 ? 则为 X : 否则为 Y
    is 判断对象是否为某一类型。 If( Ford is Car) // 检查 Ford 是否是 Car 类的一个对象。
    as 强制转换,即使转换失败也不会抛出异常。 Object obj = new StringReader("Hello");
    StringReader r = obj as StringReader;

  • 相关阅读:
    Redis
    Redux架构
    Dapper.NET
    JS的异步模式
    Session Redis Nginx
    .NET CORE的TagHelper智能提示
    一个Redis实现的分布式锁
    Redisson使用起来很方便,但是需要redis环境支持eval命令
    The Little Redis Book
    mybatis UpdateByExampleMapper UpdateByExampleSelectiveMapper
  • 原文地址:https://www.cnblogs.com/alex-bn-lee/p/9187018.html
Copyright © 2011-2022 走看看