• C#基础


    一、数据类型
    1、值类型:值类型直接包含数据。
    2、引用类型:引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。它们指的是一个内存位置。使用多个变量时,引用类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。
    内置的引用类型有:object、dynamic 和 string。
    用户自定义引用类型有:class、interface 或 delegate。
    3、指针类型:指针类型变量存储另一种类型的内存地址。C# 中的指针与 C 或 C++ 中的指针有相同的功能。

    二、类型转换
    1、隐式类型转换:这些转换是 C# 默认的以安全方式进行的转换。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。
    2、显式类型转换:这些转换是通过用户使用预定义的函数显式完成的。显式转换需要强制转换运算符。

    三、封装
    封装:被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。
    抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使程序员实现所需级别的抽象。
    封装使用访问修饰符来实现。一个访问修饰符定义了一个类成员的范围和可见性。
    1、public
    任何公有成员可以被外部的类访问。
    2、private
    只有同一个类中的函数可以访问它的私有成员。
    类的默认访问标识符是 internal,成员的默认访问标识符是 private。
    3、protected
    该类内部和继承类中可以访问。
    4、internal
    同一个程序集的对象可以访问。
    如果定义在一个dll中,就不能被访问。
    5、protected internal
    3和4的并集,符合任意一条都可以访问。

    四、可空类型
    可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值。
    ??是NULL合并运算符,如果第一个操作数的值为 null,则运算符返回第二个操作数的值,否则返回第一个操作数的值。

    示例:

    using System;
    using System.Diagnostics;
    
    namespace Test
    {
        class Program
        {
            static void Main(string[] args)
            {
                int? x = null;
                int? y = 100;
                Console.WriteLine($"x = {x ?? -100}");
                Console.WriteLine($"x = {y ?? -100}");
                Console.ReadLine();
            }
        }
    }
    View Code

    输出:

  • 相关阅读:
    java几种基本排序算法
    Java 数组
    java自增(自减)运算符
    java数据类型
    java变量
    java注释
    c语言数字图像处理(十):阈值处理
    c语言数字图像处理(九):边缘检测
    c语言数字图像处理(五):空间滤波
    c语言数字图像处理(八):噪声模型及均值滤波器
  • 原文地址:https://www.cnblogs.com/ACGame/p/10962898.html
Copyright © 2020-2023  润新知