【ref、out】
摘要:ref和out都用于引用传递参数,允许函数修改参数的值。 主要区别: - ref参数必须在调用前初始化,out参数不需要初始化但必须在函数内赋值。 - 使用ref和out时,ref参数调用前和调用后值都可以访问,out参数调用前不能访问值只能赋值。 - ref允许参数的值在函数内被修改,out只能在
阅读全文
(三)【值类型与引用类型】
摘要:值类型相对来说较”轻“一些,例如int,char,bool之类的,而引用类型较”重“一些。例如,class,interface,delegate,string,object之类的。值类型分布在栈上(站直)。而引用类型分布在堆上,栈是一块连续的内存区域,由编译器自动分配和释放,具有先进后出原则。而堆则
阅读全文
(十)【await/async异步编程】
摘要:人话:在比较耗时的工作上开了一个线程去做这个事情,然后接着往下执行。await标记耗时方法,主线程碰到await时会立即返回,继续以非阻塞形式执行主线程下面的逻辑。一般的磁盘IO或者网络请求等耗时操作才考虑使用异步,不要为了异步而异步,异步也是需要消耗性能的,使用不合理会适得其反。 在函数声明中,a
阅读全文
.NET牛人应该知道些什么?
摘要:.Net系列学习路线_哔哩哔哩_bilibili 任何一个使用.NET的人 1:描述线程与进程的区别? (进程就是一个独立的运行的程序,线程是依附于进程的,具体概念还真不清楚。) 2:什么是Windows服务,它的生命周期与标准的EXE程序有什么不同 (Windows服务是没有运行界面的由Windo
阅读全文
C#/【委托】
摘要:委托-委托的介绍_哔哩哔哩_bilibili 在一些业务比较复杂的场景下就更需要运行委托来实现代码的重用,业务的解耦,保持代码的稳定性以及扩展性。 委托应用场景 1、方法的回调 2、使用多线程 委托是一个密封(sealed)类,并且有四个方法。invoke,Begininvoke,Endinvoke
阅读全文
C#/.net面试知识点总结【反射】(二)
摘要:反射?通过反射调用对象要比直接NEW一个对象慢多 https://www.jb51.net/article/205935.htm 动态获取程序集信息。程序集包含模块,而模块又包括类型,类型下有成员,反射就是管理程序集,模块,类型的对象,它能够动态的创建类型的实例,设置现有对象的类型或者获取现有对象的
阅读全文
(六)【垃圾回收器 GC】
摘要:托管代码可是享受CLR提供的服务(安全检测,垃圾回收)不需要自己完成这些操作。托管代码是一种中间语言,运行在CLR上。托管代码独立与平台和语言,能更好的实现不同语言平台之间的兼容。 非托管代码需要自己提供安全检测,垃圾回收等操作。非托管代码被编译为机器码,运行在机器上。非托管代码依赖于平台和语言。
阅读全文
【序列化与反序列化】
摘要:序列化就是将我们程序中的对象通过字节流写入存储媒体或网络流中。反序列化就是把已存入的媒体或接收的网络流中的内容转换成程序运行中的对象。这两个过程结合起来,可以轻松地存储和传输数据。 .NET Framework 提供两种序列化技术:二进制序列化:System.Runtime.Serializatio
阅读全文
C#/.net面试知识点总结(一)
摘要:&和&&的区别? 相同点 &和&&都可作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,其结果 才为true,否则,只要有⼀⽅为false,则结果为false。(ps:当要⽤到逻辑与的时候&是毫⽆意义,&本身就不是⼲这个的) 不同点 if(loginUser!=nul
阅读全文
C#/.NET知识点总结【泛型】
摘要:泛型 极大提高代码可用性,可以重复使用对象,定义一个反省对象后,我们可以赋值成string类型,int类型, 类型是安全的 性能也有提高 https://www.ktanx.com/blog/p/665 泛型运行的机制
阅读全文
C# 集合 ArraryList,HashTable,Dictionary,list,Queue
摘要:List List:也是Array,内存上都是连续摆放的;不定长;泛型,保证类型安全,避免装箱拆箱(都是统一的类型) List<Student> resultList = (from c in lsStudent where c.Name.IndexOf(key)>=0 ||c.Sex.IndexO
阅读全文
for与foreach的区别
摘要:https://blog.csdn.net/fww165460/article/details/115198483 https://www.cnblogs.com/eve612/p/13628231.html foreach属于迭代器,迭代循环。只能按序依次遍历完成,所以不支持中断行为。break和
阅读全文
C#/.net面试知识点总结(八)【Linq、lambda】
摘要:语言集成查询(LINQ)是Visual Studio 2008中引入的一组功能,它将强大的查询功能扩展到C#和Visual Basic的语言语法 lambda表达式是一个匿名函数,可用于创建委托或表达式树类型.通过使用lambda表达式,您可以编写可以作为参数传递或作为函数调用的值返回的本地函数.
阅读全文
Framework
摘要:C#等高级语言 》编译器编译 》dll或者exe(metadata或者IL) 》CLR或者JIT >机器码(010110001) Apache http service Nginx Tomcat application service IIS DI 依赖注入 K8S
阅读全文
(五)【线程知识点】
摘要:多线程???【提高程序效率】(实现线程方式1、直接new2、通过线程池) 【应用场景:1、下载】 同时开启多个线程,会造成CPU使用率过高。这个时候可以将线程休眠。从而避免多个线程抢占同一个资源而造成CPU过高。 start()开启线程 suspend()暂定线程 resume()恢复线程 无法实时
阅读全文
列转行
摘要:https://www.cnblogs.com/yanweidie/p/6485957.html#_label3 https://stackoverflow.com/questions/17971921/how-to-convert-row-to-column-in-linq-and-sql htt
阅读全文
DataTable,DataView,DataRowView,DefaultView与DataSet
摘要:DataTable dt.Rows[i][j] i 表示行数 j 表示列数 https://blog.csdn.net/hsst027/article/details/5774496
阅读全文
C#语法
摘要:KeyPress>KeyDown>KeyUp 并发:一个人"同时"做多件事,吃米饭,吃蔬菜,吃牛肉。并行:多个人"同时"做多件事,两个人吃米饭,吃蔬菜,吃牛肉。 1,提供一个一致的面向对象的编程环境2,提供一个将软件部署和版本控制冲突最小化的代码执行环境3,提供一个可提高代码执行安全性的代码执行环境
阅读全文
(九)【ADO.NET】
摘要:Connection对象 Command对象 ExecuteReader()方法 FieldCount 获取当前行的列数 RecordsAffected 获取执行SQL语句所更改,添加,删除的行数DataReader 在使用的时,将以独占方式使用Connnection,使用之后Close方法断开Co
阅读全文
(七)【抽象类、接口、类】
摘要:抽象类实在一个类型上进行抽象,而接口类似与一个动作,或者方法上。比如人类我们可以抽象出来作为一个抽象类。而人类的走路这个动作我们可以定义为一个接口。 struct:结构体,值类型 抽象类 abstract 1,抽象类不能实例化 2,抽象方法是必须被子类重写的方法 3,如果类中包含于抽象方法,那么类就
阅读全文