首页 > 其他分享 >语言基础小记

语言基础小记

时间:2022-11-18 14:48:14浏览次数:37  
标签:拆箱 语言 函数 基础 引用 类型 小记 装箱 构造函数

1.C#支持哪几个预定义的值类型?

值类型:简单类型(整型、布尔型、字符型、浮点型、小数型)

              结构类型

              枚举类型

(byte、bool、 int、float、double、struct、enum)

2.C#支持哪几个预定义的引用类型?

引用类型是实际值引用(指针)的数据类型,如果变量是一个引用类型,那么将指向原始内存地址

引用类型:对象类型

                  类类型

                  接口

                  元数据

                  字符串类型

                  数组

(object、class、string、数组,接口)

-------------------------扩展------------------------------------

由于值类型或者引用类型直接或者间接的继承自Object,因此可以相互进行转换

-------------------------------------------------------------

3.如何解决装箱和拆箱的性能问题

装箱:指将值类型转化为引用类型

拆箱:指将引用类型转化为值类型

*可以用使用泛型的方式来减少装箱与拆箱(以下是检测装箱拆箱的效率问题可以用arrayList和List读取数据来检测)

 

----------------------------扩展----------------------------------

 (1)上面这种叫做属性,属性也是方法,上面的写法叫做语法糖(语法的简化)

 

(2)大写I开头基本都是接口

(3)构造函数的作用就是初始化一个类的实例

*(4)检测装箱拆箱的效率问题可以用arrayList和List读取数据来检测

https://blog.csdn.net/weixin_30872157/article/details/98135673

(5)基础数据类型的范围

--------------------------------------------------------------------

4.值类型和引用类型的区别(有几种方法可以判断)

(1)赋值区别

  值类型是进行数据的赋值,会创建一个新的对象

  引用类型只是拷贝了引用,实际指向统一内存地址的数据

(2)继承结构的区别

引用类型一般都有继承性

值类型由于其是密封的(sealed)以至于值类型不能作为任何类型的基类。但是可以单继承或者多继承接口(值类型都继承system.valueType)

 (3)内存分配不同

值类型一般分配到栈上,变量直接包含变量的实例,使用效率相对较高

引用类型分配在堆上,变量存的是指向实例的一个指针,变量通过指针来指引(栈上只会存指向的内存地址)

5.类的get和set函数

作用:对于一些私有变量,为了不被其他类引用,通过get,set函数可以保证他的封闭性和安全性,通过函数

6.类的的构造函数和析构函数

构造函数:对象被创建的时候用特殊的值对其进行构造,使对象处于一个特定的状态,从抽象的类变成具体的对象(一般到具体,由系统自动调用)

析构函数:对象生命周期结束时由系统自动调用,对象销毁,内存空间释放

继承类的执行顺序:

先执行基类的构造函数,再执行子类的构造函数

先执行子类的析构函数,再执行父类的析构函数

---------------------------------------------------------

.netCore和.netFramework如果自己重写了析构函数,一个会打印一个不会打印

---------------------------------------------------------

7.静态成员和静态函数

static 标志

静态成员和静态函数为类共享而不是为对象所独有(数据共享、只初始化一次,占一份内存),通过(类名.)的形式可进行操作

8.类继承的相关理解

在派生类的构造函数写继承基类的构造函数

 

在派生类中new 父类中的·方法,那么当实例化派生类的时候调用此方法相当于调用派生类的这个方法

 

 

 9.类多态的理解

 同一行为的不同表现

 

标签:拆箱,语言,函数,基础,引用,类型,小记,装箱,构造函数
From: https://www.cnblogs.com/Nicela/p/16826179.html

相关文章

  • 【c&c++】C语言 结构体 - 字节对齐 使用预处理命令 #pragma 对齐
    在C语言中每个数据类型都有他的对齐方式例如char是一个一节对齐,int是四个字节对齐,float是八个字节对齐,short是两个字节对齐由于对齐方式的特性就会拥有相同成员的结......
  • BSN-DDC基础网络DDC SDK详细设计五:官方合约BSN-DDC-1155
    2022年1月25日,区块链服务网络发展联盟(简称“BSN联盟”)推出了“BSN-DDC基础网络”(简称DDC网络)。DDC网络的推出,为NFT技术在我国的落地提供基础设施能力支撑,并为其合规发展保驾......
  • C语言:找最大交错正方形
    题目图上有一个矩阵,由N*M个格子组成,这些格子由两种颜色构成,黑色和白色。请找到面积最大的且内部是黑白交错(即两个相连的正方形颜色不能相同)的正方形。输入格式:第一行两......
  • 1.1 何为程序?何为语言?
    程序计算机为得到某种结果,通过计算机语言表达的指令序列。管理学为进行某项活动或过程所规定的途径。生活学典礼的程序如下,第一项、第二项打太极拳的步骤语言计......
  • C语言:计算器
    题目请你编写一个科学计算器,支持多括号嵌套的四则运算,三角函数及指数对数运算功能可选(功能越多越好,指数的输入格式为a^b,对数的输入格式为logab,(其中a为底数))代码#in......
  • C语言:约瑟夫环
    题目n个人围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。 例如:  ......
  • C语言:IPv6地址压缩
    题目IPv6二进位制下为128位长度,以16位为一组,每组以冒号“:”隔开,可以分为8组,每组以4位十六进制方式表示。例如:2001:0db8:0000:0000:0123:4567:89ab:cdef是一个......
  • C语言:大数减法
    题目输入两个正整数(20位以上),计算两个数的差 例如:  输入:5626255555855853666554212125121252222521  输出:2050430437306314144代码#include<stdio.h>#inclu......
  • C语言:最小子数组和
    题目给你一个整数数组,请你找出一个具有最小和的连续子数组(子数组最少包含一个元素),返回其最小和。子数组是数组中的一个连续部分。 例如:  输入:-21-34-1-21-......
  • C语言:蛇形方阵
    题目给出一个不大于9的正整数n,输出n×n的蛇形方阵。从右上角填上1开始,逆时针方向依次填入数字,如同样例所示。注意每个数字都右对齐,中间用空格隔开。 例如:  ......