![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#学习笔记
文章平均质量分 55
对于C#学习过程中的重点进行分析和记录
IsNullOrEmpty-_-
这个作者很懒,什么都没留下…
展开
-
C#学习笔记四(转换2)
*对于myVar2,实际指向B类型对象,但看不到B扩展A的部分。(1)显示转换是没必要的,也就是从派生类到基类的转换。(2)目标类型作为父类不会看到源类型子类的扩展部分。(1)所有引用类型可以被隐式转换为object类型。(1)引用类型间的转换会把引用“标记”为其他类型。(2)任何接口可以隐式地转换为它继承的接口。**对于myVar1,引用的对象是B类型。(1)从object到任何引用类型的转换。引用类型对象由内存中的引用和数据组成。(2)从基类到派生自它的类的转换。(3)由源引用指向的。原创 2023-06-20 17:59:26 · 93 阅读 · 0 评论 -
C#学习笔记四(转换1)
(3)对于有符号类型的转换,额外的最高位用源表达式的符号位进行填充,,这样就维持了被转换的值的正确符号和大小,这叫做符号扩展。当从decimal转换到整数类型时,如果结果值不在目标类型的范围内,则CLR会抛出OverflowException异常。(2)当从更小的无符号类型转换成更大的无符号类型时,目标类型多出来的最高位都用0进行填充,这叫做零扩展。**在checked的情况下,如果转换丢失数据,操作会抛出一个OverflowException异常。原创 2023-06-19 16:48:18 · 111 阅读 · 0 评论 -
C#学习笔记三(委托)
在C语言中,可以定义一个函数指针,通过指向相关函数的地址,便能通过函数指针使用指向的函数。此代码声明了一个返回类型为int,包含两个int类型参数的委托,因此只能接受返回类型是int,并带有两个两个int类型参数的方法。委托是一种类型,一般在类的外面声明,声明时要注意委托的返回类型和签名,因为返回类型和签名指定了委托能接受的方法的形式。(1)如果在调用列表中的方法有多个实例,-=运算符将从列表的最后开始搜索,并且移除第一个与方法匹配的实例。(1)调用列表中的最后一个方法返回的值就是委托调用返回的值。原创 2023-06-18 18:29:31 · 89 阅读 · 1 评论 -
C#学习笔记二(装箱Boxing和拆箱Unboxing)
但是有时候需要将一种类型的变量表示为另一种类型的变量,通过装箱和拆箱可以将数据在值类型和引用类型间进行转换。在理解装箱和拆箱之前,首先我们需要知道C#语言中有两大数据类型,分别是值类型和引用类型,值类型数据存放在栈上,引用类型数据则存放在堆上,而在栈上的是数据于堆上的初始地址。当声明x时,在栈上分配一个4字节空间来存储x值,使用装箱操作 object boxInt = x 时,会将x的存储值复制到堆中,然后 boxInt 引用在堆中的值的地址。将object引用类型的数据转换回值类型数据的值。原创 2023-06-17 17:18:01 · 305 阅读 · 1 评论 -
C#学习笔记一(数据类型)
3.枚举(enum): 如HorizontalAlignment,Visibility。2.结构体(struct): 如Int32,Int64,Single,Double。1.类(class): 如Window,Form,Console,String。4.接口(interface)5.委托(delegate)*C#的五大数据类型。*C#类型的派生谱系。原创 2023-06-17 09:41:55 · 47 阅读 · 1 评论