随笔分类 - C#基础
摘要:1.使用一些查询比较复杂或者需要拼接的查询的时候最好一直保持IQueryable。一直到最后取数据的时候才进行查询。例如分页之类的条件拼接。 var query = dbset.Where(expression); query = IsDESC ? query.Or...
阅读全文
摘要:栈的填充方式是从高到低,高数位到低数位的填充堆的填充方式是从低向高,低数位到高数位的填充内存堆上没有被栈引用的东西,才会被垃圾回收器回收。GC垃圾自动回收会重新排列堆里面的内存占用,自动回收运行的时候整个程序是停止状态的,频繁的调用垃圾回收方法会导致程序性能的降低。
阅读全文
摘要:最近在复习C#基础这里,发现指针运算方式跟引用类型运算方式很相像。指针里面存放的是表示内存地址的一段整数,所以任何整数类型指针之间都可以相互转换,因此带来了不安全性。 long longint = 12; long* b = &longin...
阅读全文
摘要:电脑CUP处理程序的运行。cpu里分为一级缓存,二级缓存,还有三级缓存,之后是内存里的东西。 栈存放在一级缓存里,所以cup调用速度最快,处理起来也效率也最高,但是大小很小,能存放的东西很少。 堆存放在二级缓存里,离cpu不一级缓存远一点,但是存储的数据量更大一些。 C#里值类型创建的...
阅读全文
摘要:C#接口有三种用途:提供方法、属性、事件的抽象。这是接口最常见的用途。在面向对象的设计中,接口是软件架构可扩展性的重要保证因素,与抽象类配合使用,使得框架结构具有“被注入”的特性,从而提高系统的扩展性用作泛型约束。在这种情况下,接口可以仅仅是一个类型,其中可以不带任何方法、属性或事件的定义。请看:p...
阅读全文