随笔分类 -  01-c#基础

上一页 1 2 3 4 5 6 ··· 11 下一页
摘要:上一篇写了一下装箱拆箱的定义和IL分析,这一篇我们看下使用泛型和不使用泛型引发装箱拆箱的情况 1.使用非泛型集合时引发的装箱和拆箱操作 看下面的一段代码: ? 1 2 3 4 5 6 7 8 var array = new ArrayList(); array.Add(1); array.Add(2 阅读全文
posted @ 2020-09-16 16:00 Linybo2008
摘要:装箱和拆箱是值类型和引用类型之间相互转换是要执行的操作。 1.装箱在值类型向引用类型转换时发生 2.拆箱在引用类型向值类型转换时发生 光上述两句话不难理解,但是往深处了解,就需要一些篇幅来解释了。 我们先看装箱时都会发生什么事情,下面是一行最简单的装箱代码 ? object obj = 1; 这行语 阅读全文
posted @ 2020-09-16 15:59 Linybo2008
摘要:需求 多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 A 网站和 B 网站是同一家公司的关联服务。现在要求,用户只要在其中一个网站登录,再访问另一个网站就会自动登录,请问怎么实现? 涉及到的关键点: 这里就涉及到了 跨域认证 以及 前端页面 JavaScript 跨域 问题。 阅读全文
posted @ 2020-08-05 09:13 Linybo2008
摘要:前言 一般来说.NET程序员是不用担心内存分配释放问题的,因为有垃圾收集器(GC)会自动帮你处理。但是GC只能收集那些不再使用的内存(根据对象是否被其它活动的对象所引用)来确定。所以如果代码编写不当的话,仍然会出现内存泄漏的问题,常见的情况有:一个静态变量引用了一个应该被释放的对象,事件注册后不解除 阅读全文
posted @ 2020-07-28 11:00 Linybo2008
摘要:网上有很多很多的人在问各IoC框架的对比,也有很多人做了各种各样的测试,下面这个,是包括的框架最多的,当然这种小测试测得都比较片面,但至少能在某一确定的方面反映问题。同样,你们可以把测试代码下载回去,略作修改测试你们感兴趣的方面。 来源网站和测试代码见:http://www.palmmedia.de 阅读全文
posted @ 2020-07-28 09:18 Linybo2008
摘要:重构是在编写代码后在不更改代码的外部行为的前提下通过更改代码的内部结构来改进代码的过程。 一、何时需要重构 1、代码中存在重复的代码; 如果类中有重复的代码块,需将其提炼出一个新的独立方法,如果是不同类中具有相同的代码,将其提炼成一个新类。 2、过大的类和过长的方法; 过大的类往往是类抽象不合理的结 阅读全文
posted @ 2020-07-27 11:19 Linybo2008
摘要:原文:http://blog.sojingle.net/programming/csharp/csharp-collections-dictionaries-using-foreach 对于.net Framework中内置的几种集合类,foreach是一种很方便的遍历方式: 1.非泛型&弱类型的C 阅读全文
posted @ 2020-07-27 10:06 Linybo2008
摘要:一:讲故事 上一篇介绍的 6 个特性从园子里的反馈来看效果不错,那这一篇就再带来 6 个特性同大家一起欣赏。 二:特性分析 1. 像弱类型语言一样解析 json 大家都知道弱类型的语言有很多,如: nodejs,python,php,它们有一个🐮👃的地方就是处理json,不需要像 强类型语言 那 阅读全文
posted @ 2020-07-24 10:00 Linybo2008
摘要:一:讲故事 看完官方文档,阅读了一些 Newtonsoft 源码,对它有了新的认识,先总结 六个超经典又实用的特性,同大家一起分享,废话不多说,快来一起看看吧~~~ 二:特性分析 1. 代码格式化 如果你直接使用 JsonConvert.SerializeObject的话,默认情况下所有的json是 阅读全文
posted @ 2020-07-24 09:59 Linybo2008
摘要:一:背景 1. 讲故事 在开始本文之前,真的好想做个问卷调查,到底有多少人和我一样,对 JsonConvert 的认识只局限在 SerializeObject 和 DeserializeObject 这两个方法上(┬_┬), 这样我也好结伴同行,不再孤单落魄😁😁😁,或许是这两个方法基本上能够解 阅读全文
posted @ 2020-07-24 09:58 Linybo2008
摘要:阅读目录 关闭 单点登录(SSO)原理 手撸一个SSO IdentityServer4实现SSO 源码地址(demo可配置数据库连接后直接运行) 推荐阅读 什么是单点登录? 我想肯定有一部分人“望文生义”的认为单点登录就是一个用户只能在一处登录,其实这是错误的理解(我记得我第一次也是这么理解的)。 阅读全文
posted @ 2020-07-24 09:56 Linybo2008
摘要:阅读目录 关闭 推荐MiniProfiler插件 数据准备 foreach循环的陷进 AutoMapper工具 联表查询统计 性能提升之AsNonUnicode 性能提升之AsNoTracking 多字段组合排序(字符串) lamdba条件组合 EF的预热 count(*)被你用坏了吗(Any的用法 阅读全文
posted @ 2020-07-24 09:52 Linybo2008
摘要:一:背景 1. 讲故事 最近因为各方面原因换了一份工作,去了一家主营物联柜的公司,有意思的是物联柜上的终端是用 wpf 写的,代码也算是年久失修,感觉技术债还是蛮重的,前几天在调试一个bug的时候,看到了一段类似这样的代码: var dt = new DataTable(); SqlDataAdap 阅读全文
posted @ 2020-07-24 09:50 Linybo2008
摘要:天天写,不一定就明白。 又及,前两天看了一个关于同步方法中调用异步方法的文章,里面有些概念不太正确,所以整理了这个文章。 一、同步和异步。 先说同步。 同步概念大家都很熟悉。在异步概念出来之前,我们的代码都是按同步的方式写的。简单来说,就是程序严格按照代码的逻辑次序,一行一行执行。 看一段代码: p 阅读全文
posted @ 2020-07-23 09:43 Linybo2008
摘要:先看MSDN上的解释: HttpContext.Current.Cache:为当前 HTTP 请求获取Cache对象。HttpRuntime.Cache:获取当前应用程序的Cache。 我们再用.NET Reflector工具看看HttpContext.Cache和HttpRuntime.Cache 阅读全文
posted @ 2020-07-22 17:29 Linybo2008
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.CodeDom.Compiler; using System.Reflection; namespac 阅读全文
posted @ 2020-07-22 16:47 Linybo2008
摘要:一.工具介绍 1. ILSpy.exe(点击下载):用来查看IL代码; 2. ILDasm(点击下载):看.net Framework中的程序集中方法的源码(通过反编译),即BCL中的代码; 工具在开发工具中有,也可以从上面的连接链接中下载。 二.C#程序的编译过程 1. 预编译:从C#代码编译为M 阅读全文
posted @ 2020-07-22 14:18 Linybo2008
摘要:C# 编写的代码通过VS编译器生成 dll 或 exe ,很容易被一些反编译工具查看到源码或对源码进行修改。为防止代码被反编译或被篡改,我们可以进行一定的防范措施。但不能杜绝,因为DotNet编写代码运行必须编译成IL 中间语言,IL是很规则,同时也很好反编译。 反编译防范措施: 设置项目代码反汇编 阅读全文
posted @ 2020-07-22 09:32 Linybo2008
摘要:IL DASM反编译工具 使用C#的猿人或多或少都会对微软的IL反编译工具(ildasm.exe)有所认识。我最早接触到这工具是公司同事使用他反编译exe程序,进行研读和修改。感觉他还是很强大。 IL是微软平台上的一门中间语言,我们常写的C#代码在编译器中都会自动转换成IL,然后在由即时编译器(JI 阅读全文
posted @ 2020-07-21 16:57 Linybo2008
摘要:一、C#方法中参数类型 有4种参数类型,有时候很难记住它们的不同特征,下图对它们做一个总结,使之更容易比较和对照。 二、C#方法中的参数 1、值参数 使用值参数,通过复制实参的值到形参的方式把数据传递到方法。方法调用时,系统做如下操作: · 在栈中为形参分配空间 · 复制实参到形参 注:栈(先进后出 阅读全文
posted @ 2020-07-21 15:08 Linybo2008

上一页 1 2 3 4 5 6 ··· 11 下一页