DotNet学习
DotNet学习
※宋健※
这个作者很懒,什么都没留下…
展开
-
强制类型转换、is、as
学习C#基础时的疑问,强制类型转换和as转换到底什么区别和联系。首先,类型转换分为两大类:1.依靠转换操作符完成类型之间的转换;2.类型存在继承关系。我们看一下代码案例: class Program { static void Main(string[] args) { Person p = new Pers...原创 2020-04-21 12:55:50 · 27955 阅读 · 0 评论 -
装拆箱和强制类型转换
记得在学C#基础时,有个疑问,值类型和引用类型进行隐式类型转换会造成装拆箱,但是用强制类型转换,有时候会避免装拆箱,一直不明白为什么,首先我们先看案例:我们再看编译后的IL代码:可以看出,隐式转换确实造成了装拆箱,ToString显示类型转换确实没有,原因就是显示类型转换调用了Number.FormatInt32方法,在内存中完成int到string的转换。...原创 2020-04-21 12:48:31 · 247 阅读 · 0 评论 -
C#反射动态校验属性类型信息
不多说,直接上代码主类:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ReflectionProj{ class Program { static ...原创 2020-01-19 15:24:43 · 394 阅读 · 0 评论 -
C#反射之深拷贝+泛型扩展
在另一篇博客里写了反射技术提高代码复用率问题,这里我们看另一个场景,那就是反射实现对象深拷贝。普通版本的深拷贝我们就先不写了,先上反射版本的。main处理:using System;namespace ConsoleApp1{ class Program { static void Main(string[] args) { ...原创 2019-08-25 14:21:37 · 738 阅读 · 0 评论 -
C#反射使用场景之提高代码复用率
最近做项目时,用到了一点反射处理,下面简单聊一下什么是反射,及反射的使用场景,场景很重要,没有场景,很难深入了解一个技术点。反射是什么,这种在我看来比较高大上的概念就先不聊了,大家在网上搜索一下也很多,我们直接按照需求走一遍。在ORM处理里,也就是数据库和Model关联时,假设Student表里有StudentID,SName,SClass字段,对应一个StuModel,具备同样的字段,我们怎...原创 2019-08-25 12:39:01 · 630 阅读 · 2 评论