C#学习.

C#关键字

abstractfinally
可以和类、方法、属性、索引器及事件一起使用,标识一个可以扩展但不能被实体化的、必须被实现的类或方法。定义一个代码块,在程序控制离开try代码块后执行。参见try和catch。
typeoffixed
一个操作符,返回传入参数的类型。标识一个可被操作系统、某些硬件设备或并发线程修改的attribute。
asfixed
一个转换操作符,如果转换失败,就返回null。在一个代码块执行时,在固定内存位置为一个变量指派一个指针。
outbase
标识一个参数值会受影响的参数,但在传入方法时,该参数无需先初始化。用于访问被派生类或构造中的同名成员隐藏的基类成员

using 关键字
在任何 C# 程序中的第一条语句都是:
using System;
class 关键字
class 关键字用于声明一个类。

运算符

  • 把两个操作数相加 A + B 将得到 30
  • 从第一个操作数中减去第二个操作数 A - B 将得到 -10
  • 把两个操作数相乘 A * B 将得到 200
    / 分子除以分母 B / A 将得到 2
    % 取模运算符,整除后的余数 B % A 将得到 0
    ++ 自增运算符,整数值增加 1 A++ 将得到 11
    – 自减运算符,整数值减少 1 A-- 将得到 9

c = a++: 先将 a 赋值给 c,再对 a 进行自增运算。
c = ++a: 先将 a 进行自增运算,再将 a 赋值给 c 。
c = a–: 先将 a 赋值给 c,再对 a 进行自减运算。
c = --a: 先将 a 进行自减运算,再将 a 赋值给 c 。


== 检查两个操作数的值是否相等,如果相等则条件为真。 (A == B) 不为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。 (A != B) 为真。

检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (A > B) 不为真。
< 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (A < B) 为真。
= 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 (A >= B) 不为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 (A <= B) 为真。

&& 称为逻辑与运算符。如果两个操作数都非零,则条件为真。 (A && B) 为假。
|| 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 (A || B) 为真。
! 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 !(A && B) 为真。

在这里插入图片描述

C# 封装

封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。
抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。
C# 封装根据具体的需要,设置使用者的访问权限,并通过 访问修饰符 来实现。
一个 访问修饰符 定义了一个类成员的范围和可见性。C# 支持的访问修饰符如下所示:

  • public:所有对象都可以访问;

  • private:对象本身在对象内部可以访问;

  • protected:只有该类对象及其子类对象可以访问;

  • internal:同一个程序集的对象可以访问;

  • protected internal:访问限于当前程序集或派生自包含类的类型。
    在这里插入图片描述
    在这里插入图片描述
    类class

    • 类是对显示世界事务的抽象所得的结果
    • 事务包括"物质"与运动(逻辑)
    • 建模是一个去伪存真,由表及里的过程
      类与对象的关系
    • 对象也叫实例,是类经过”实例化“后得到的内存中的实体
    • 类是个概念而对象是个实例。比如天上有飞机这个飞机就是类(概念),天上有一架飞机这是个对象
      但是有些类也是不能够实例化的
    • 依照类我们可以创建对象,(这就是实例化)
    • 现实世界中称为对象,程序世界中成为实例,二者并无太大区别
      使用new操作符创建类的实例
      引用变量与实例的关系
    • 可以用还孩子与气球来比喻,孩子就相当于引用变量,气球相当于实例
      类的三大成员
      属性(Property): 存储数据,组合起来表示类或对象当前的状态
      方法(Method): 由C语言中的函数(function)进化而来,表示类或对象“能做什么”,它是真正做事的人,构成逻辑的成员
      事件(Event): 类或对象通知其他类或对象的机制,为C所持有(Java通过其他办法实现这个机制)善用事件机制非常重要
      静态成员与实例成员: 静态(Static)成员在语义上表示它是“类的成员”
      实例(非静态):成员在语义表示它是是“对象的成员”
      绑定(Binding):指的是编译器如果把一个成员与类或对象关联起来

    在这里插入图片描述
    补充:
    在 C# 中,变量分为以下几种类型:
    值类型(Value types):
    值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。
    值类型直接包含数据。比如 int、char、float,它们分别存储数字、字符、浮点数。当您声明一个 int 类型时,系统分配内存来存储值。
    在这里插入图片描述

引用类型(Reference types):
引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。
换句话说,它们指的是一个内存位置。使用多个变量时,引用类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。内置的 引用类型有:object、dynamic 和 string。
对象(Object)类型 是 C# 通用类型系统(Common Type System - CTS)中所有数据类型的终极基类。Object 是 System.Object 类的别名。所以对象(Object)类型可以被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值。但是,在分配值之前,需要先进行类型转换。
当一个值类型转换为对象类型时,则被称为 装箱;另一方面,当一个对象类型转换为值类型时,则被称为 拆箱。
指针类型(Pointer types):
指针类型变量存储另一种类型的内存地址。C# 中的指针与 C 或 C++ 中的指针有相同的功能。

类型转换

隐试(implicit)类型转换

  • 不丢失精度的转换
  • 子类向父类转换
  • 装箱

显试(explict)类型转换
- 有可能丢失精度(甚至发生错误)的转换,即cast
- 拆箱
- 使用Convert类
- ToString方法与各种数据类型Parse/TryParse方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值