当前位置: 首页 > news >正文

011 操作符详解 中

基本操作符

new

new操作符 中的实例初始化器

当对某个对象访问为一次性的情况,没有必要创建对象引用实例

new操作符创建实例,用初始化器初始化它的属性,然后用 . 调用(访问)它的方法

一段时间后被垃圾回收期回收

使用new为匿名类型创建匿名对象,并且用var 隐式的应用这个实例 该类型GetType()无法识别

new操作符有一定危险性

大型程序中为避免new操作符造成紧耦合 使用依赖注入的设计模式使耦合变松

new 关键字可以隐藏父类中的方法 ,使子类调用自身方法 不常见

checked()

checked 操作符:让程序检查一个值在内存中是否溢出

unchecked 操作符:让程序不需要检查一个值在内存中是否溢出

unchecked模式不检查是否溢出,所以就不会触发try 语句

C# 中默认为unchecked 模式

checked 上下文用法 检查{} 内的所有值是否溢出 unchecked 反之

delegate 操作符

该语法已经过时 被Lambda 表达式代替

sizeof操作符

默认情况只能获取基本数据类型的实例在内存中所占的字节数(基本数据类型就是结构体数据类型)string object除外

非默认情况,可以获取自定义结构体实例在内存中所占的字节数,但是需要把它放在不安全(unsafe语句块中)的上下文中

—>操作符

直接操作内存必须放在unsafe(不安全的上下文中)的语句块中

—>通过指针间接访问成员

.直接访问成员

一元(单目)操作符 (只有一个操作数)

&x取地址操作符 *x取指针符号

都需要在不安全的上下文之中

*pStu.Score = 1000;

必须加括号 因为 . 的运算优先级高于*

~ 求反操作符

对一个值在二进制的级别上按位取反

xStr 和yStr 按位取反

++x --x

++x 和x++ 单独使用时效果是一样的

区别在于加入赋值运算符后

后置 ++ 先把值赋给左边变量 在进行++ 操作 先用值再++ 前置 ++ 先++ 在赋值

尽量单独使用 ,因为和其他运算符一起可读性非常差


http://www.mrgr.cn/news/59078.html

相关文章:

  • 硬件设计-PCIe时钟抖动测量
  • Oracle故障诊断(一线DBA必备技能)之ADRCI(二)
  • 【华为\荣耀、中兴、华三路由器IPV6设置】
  • 淘知学堂 1.0.0 | 不收费的英语启蒙软件,涵盖小中高
  • 【智能大数据分析 | 实验四】Spark实验:Spark Streaming
  • 开源生活-分布式管理
  • 《面试最爱问的Spring》- IOC启动流程,底层实现、配置方式详解
  • 传奇996_5——使用补丁制作武器
  • 代码随想录第十一天|150. 逆波兰表达式求值、239. 滑动窗口最大值、347.前 K 个高频元素
  • qml圆形图片,qml圆形头像制作
  • 家人们,做小红书/小绿书一定要学会蹭热点啊
  • 移植picocom到hisi平台上
  • PDF怎么编辑修改内容?这份PDF编辑器全攻略请收好!
  • 清理pip和conda缓存
  • linux驱动_platform总线是如何注册的
  • Android——事件冲突处理
  • springboot083基于springboot的个人理财系统--论文pf(论文+源码)_kaic
  • 一文彻底理解 JavaScript 解构赋值
  • 当前读和快照读有什么区别?
  • Python自动化会议记录与摘要生成