![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c#
orange_小猿
这个作者很懒,什么都没留下…
展开
-
C# 简述可能造成内存泄漏和内存溢出的几种情况
概念内存溢出:指程序在运行的过程中,程序对内存的需求超过了超过了计算机分配给程序的内存,从而造成“Out of memory”之类的错误,使程序不能正常运行。内存泄露:内存泄漏指由于疏忽或错误造成程序不能释放或不能及时释放已经不再使用的内存的情况,是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存不能回收和不能及时回收,最后可能导致程序运行缓慢或者崩溃的问题。分析原因第一个原因是你的对象仍被引用但实际上却未被使用。 由于它们被引用,因此GC将不会收集它们,这样它们将永久保原创 2020-12-08 00:10:38 · 16234 阅读 · 1 评论 -
C#9.0新特性
initrecordwith模式匹配拓展方法顶层模式协变的返回值翻译 2020-11-25 18:00:58 · 1379 阅读 · 0 评论 -
C# 线程同步的几种方法
在正常开发过程中总会遇到多个线程同时访问一个对象,抢占资源等问题,那么具体什么是线程同步的问题?下面举个例子:我们吃饭用手机点菜的时候,多个人同时点菜,在最后结账的时候,如果大家都争着买单,那如果没有同步信息,就会造成多个人都买单成功。这就是线程同步的问题之一。下面介绍几种线程同步的方法:1、锁 Mutex、Monitor、lockMutex:互斥锁是一个互斥的同步对象,意味着同一时间有且仅有一个线程可以获取它,互斥锁可适用于一个共享资源每次只能被一个线程访问的情况。在 Mutex 类中,Wa原创 2020-08-19 15:36:26 · 6325 阅读 · 0 评论 -
托管代码与非托管代码
托管代码就是中间语言(IL)代码,在公共语言运行库(CLR)中运行。编译器把代码编译成中间语言,当方法被调用时,CLR把具体的方法编译成适合本地计算机运行的机器码,并且将编译好的机器码缓存起来,以备下次调用使用。随着程序集的运行,CLR提供各种服务:内存管理,安全管理,线程管理,垃圾回收,类型检查等等。托管代码是一的中间语言(IL),他主要的作用是在的公共语言运行库(CLR)执行代码前去编译源代...原创 2020-03-10 00:07:41 · 1178 阅读 · 0 评论 -
C# WPF 多个Topmost窗体的置顶顺序层次调整
原文链接:https://blog.csdn.net/m0_37862405/article/details/80915523WindowInteropHelper类设置窗口所有者的句柄。设置窗口所有者的句柄。 //通过设置所有者,更改置顶顺序 WindowInteropHelper helperA = new WindowInteropHelper(this); ...转载 2019-11-27 11:56:09 · 1769 阅读 · 0 评论