分类 C# 下的文章

讲讲C#ArrayList的原理,为啥不推荐用?

原理

     Array数组是包含n个相同类型的变量,这些变量可以通过索引来访问,在内存中保存的是连续的空间,一但声明变量长度是不可更改的。

int[] array = new int[10];//长度固定,超出长度读取会报错。

    ArrayList 你解决array数组不可变的问题,本质上是对array的封装,可以动态改变数组的,他还有添加删除功能,也能通过索引访问,使用比较灵活,它在不变的情况下内存空间是连续的,但是在不同时刻不能期待他不能在同一块内存。

阅读剩余部分

C#语法糖系列 第三篇:聊聊闭包的底层玩法

有朋友好奇为什么将 闭包 归于语法糖,这里简单声明下,C# 中的所有闭包最终都会归结于  和 方法,为什么这么说,因为 C# 的基因就已经决定了,如果大家了解 CLR 的话应该知道, C#中的最终都会用 MethodTable 来承载,方法都会用 MethodDesc 来承载, 所以不管你怎么玩都逃不出这三界之内。

阅读剩余部分

C# Enum枚举类型实战总结,保证有用!

一般在我们开发时如果能使用枚举罗列的,一般都会定义一个枚举类型。将枚举类型作为方法的参数,可以方便的进行调用,给我们带来不少的便利,当然有时候它还不如直接用一个int类型带来,带来一定灵活性。但只要能满足业务咱们就怎么方便怎么来吧。

阅读剩余部分

C#11:原始字符串

这一直以来是我写代码的一个痛点,C#11终于解决了,那就是我想把一个整齐的格式的json字符串转出,但不能如愿,要不用一个三方库来搞定,要不就加各种双引号,如果有变量还得小心处理{},因为在C#string类型中 @,$,",{,}都是有含义的,组合使用后就各种转义,补齐,C#11终于解决了这个痛点,使用方式如下:

阅读剩余部分

C#中检查null的语法糖

今天看到已经更新了devblogs,新增的C# 11的!!(用于检查null的语法)经过非常长的讨论,最后取消了。然后我又想起来null检查,这个可以说一说。

阅读剩余部分