分类 C# 下的文章

C# IPAddress类

IPAddress 类代表 IP 地址。使用 GetAddressBytes 属性可以把地址本身作为字节数组,并使用 ToString() 方法转换为用小数点隔开的十进制格式。此外,IPAddress 类也实现静态的 Parse() 和 TryParse 方法,这两个方法的作用与 ToString() 方法正好相反,把小数点隔开的十进制字符串转换为 IPAddress。代码示例也访问 AddressFamily 属性,并将一个 IPv4 地址转换成 IPv6,反之亦然:

阅读剩余部分

C#了解SecureString类型吗?

也许很多人都是第一次知道还有SecureString这样一个类型,我也不例外。SecureString并不是一个常用的类型,但在一些拥有特殊需求的额场合,它就会有很大的作用。顾名思义,SecureString意为安全的字符串,它被设计用来保存一些机密的字符串,完成传统字符串所不能做到的工作

(1)传统字符串以明码的形式被分配在内存中,一个简单的内存读写软件就可以轻易地捕获这些字符串,而在这某些机密系统中是不被允许的。也许我们会觉得对字符串加密就可以解决类似问题,But,事实总是残酷的,对字符串加密时字符串已经以明码方式驻留在内存中很久了!对于该问题唯一的解决办法就是在字符串的获得过程中直接进行加密,SecureString的设计初衷就是解决该类问题。

阅读剩余部分

BASE64编码的作用及C#对其的支持?

和传统的编码不同,BASE64编码的设计致力于混淆那些8位字节的数据流(解决网络传输中的明码问题),在网络传输、邮件等系统中被广泛应用。需要明确的是:BASE64不属于加密机制,但它却是把明码变成了一种很难识别的形式。

阅读剩余部分

聊聊C#foreach迭代器原理,迭代跟for循环区别?

原理:

    编写的几乎每个程序都需要循环访问集合。因此需要编写代码来检查集合中的每一项。还需创建迭代器方法,这些方法可为该类的元素生成迭代器。迭代器是遍历容器的对象,尤其是列表。

foreach语句是被设计用来和可枚举类型一起使用,只要它的遍历对象是可枚举类型(实现了IEnumerable)。调用过程如下:

阅读剩余部分