- 博客(10)
- 收藏
- 关注
原创 C#基础-值传递和引用传递&ref和out
引用类型存储在堆内存上,在栈区存在是该对象在内存上的地址指引。而引用传递就是将地址指引再次传给另外一个地址存储上,两个地址指引指向的是同一对象,当该对象发生改变时,两个地址指引都会受到影响。在传入和接收方都是用关键字标记,传递时会将值类型的地址作为参数传递,在接收方对参数的改动数据,同时也会影响传递方。其中只是将A的数据赋给了B,在内存上又额外占用新内存存储A的数据, AB二者之间的数据是相互分离的,这就是值传递。ref 不要求所修饰的值类型在传入前是有值的,在传入时不会清空。
2024-10-08 21:32:44
742
原创 C#-函数的重载&重构&重写
在编码中一个对象一个行为名会有多个行为,比如猴子吃东西的方法,往方法中传入苹果,猴子直接拿起来吃,若传入香蕉需要先剥开再吃。此时猴子类中需要两个方法名相同却执行逻辑不同的方法。比如动物睡觉由小狗小马继承,小狗需要先趴下再睡,小马则是直接站着睡。此时两个子类拥有父类方法,但细节上在该方法下却有不同。
2024-10-07 19:09:07
958
原创 C#基础-值类型引用类型&类与结构体
通俗的来讲(仅代表个人理解),可以将数据区存储看成一个书架()和一座图书馆() 堆栈内存是动态的,还有静态区域(程序运行编译时内存就固定的)。书架上存放这一些、一些对象的引用、方法参数、局部变量等。而图书馆中存放着较为复杂的、有特殊功能的、需要存储信息的对象数据类型,如:string 自定义类型等 称他们为。引用类型将在图书馆内的地址指引放在书架上,我们可以直接在书架上对进行操作,当书架上没有了某个引用类型对象的地址指引,该对象则会被GC整理内存。
2024-10-02 21:24:44
1224
原创 C#基础-成员变量&局部变量&全局变量
代码中经常使用变量用于记录,如:一个人的年龄、身高、家人等。这些数据用于记录这个人的信息,并且在运行过程中,这些数据可以发生变化,叫做变量
2024-10-02 11:44:36
718
原创 C#基础-静态类&静态类成员
将类定义为静态后,即不再拥有实例化的特性,不可再拥有并使用构造函数进行多个对象实例化。否则违反了全局唯一变量的概念。静态类中的类成员必须全是静态的,静态类不能拥有实例化成员。格式:访问权限修饰符 + static + class + 类名 + { 类主体 }
2024-09-30 14:58:07
370
原创 C#基础-泛型的约束
在声明对象不确定数据类型时可以使用泛型暂时代替任意数据类型。由于直接声明泛型范围太广,又或者在某些情况下,确定了一个对象的大概类型并不明确具体地时 可以使用泛型的约束。将声明的泛型类型限制在某一特点下,声明泛型时提出约束,调用或实例化泛型时再遵守约束可缩小泛型的数据类型范围。格式:在声明泛型的方法名或类名后添加关键字:where:+ 约束条件。
2024-09-27 20:57:14
242
原创 C#基础-泛型的声明
在方法名后边加上泛型标识,在此方法中可将该泛型当做其他数据类型使用,可以用于返回,传参或局部变量。在调用该方法时将类型传入即可。//在调用有泛型定义的方法时,将该泛型所代表的数据类型类型传入,若泛型作为参数 则需传入指定类型的参数 输出:10//多重泛型用逗号隔开传入 输出:false 7878798public void A(T t)//将泛型视为数据类型直接用即可public void B(T t, P p)//多泛型使用逗号隔开即可。
2024-09-26 20:15:39
437
原创 c#基础-面向对象-三大特性
c# 属于面向对象语言的一种,是一类以对象作为 基本程序结构单位的程序设计语言。指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。而三大特性指的是在程序编程中,编写对象时遵守的三大原则(封装、继承、多态)。以达到可拓展、可重用、可维护的目的。
2024-09-25 14:53:11
583
原创 C#基础--委托和事件delegate&event
delegate和event 既可以声明在class中,也可以声明在命名空间内;一般在跨模块调用时使用,在有事件管理时,行为方在事件管理里登记和注销,调用方则向事件管理申请调用可实现 该委托类型的行为一起触发执行。
2024-09-25 09:29:23
341
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人