简单、现代、通用
C#是一种通用的类型安全且面向对象的编程语言。这种语言的目标是提高程序员的生产力,为此,需要在简单性、可表达性和心能之间实现平衡。C#语言首席架构师从第一个版本开始就是Anders Hejlsberg(Turbo Pascal的发明者和Delphi架构师)。C#语言与平台无关,但是它能够很好的与Microsoft .NET Framework协同工作。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。
C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C# RSA PEM解密字符
2017年04月06日
1、第一步先用openssl将pem的key转换为der的key //bin>openssl.exe rsa -in rsakeydec.pem -outform der -out pri.der 2、调用下面的程序直接读取der转换为c#所需要的xml Key,之后进行密文解密 using System; using System.IO; using System.Security.Cryp...
C# do...while 循环
2017年03月28日
不像 for 和 while 循环,它们是在循环头部测试循环条件。do...while 循环是在循环的尾部检查它的条件。do...while 循环与 while 循环类似,但是 do...while 循环会确保至少执行一次循环。语法C# 中 do...while 循环的语法:do { statement(s); }while( condition ); 请注意,条件表达式出现在循...
C#有效使用switch case语句
2017年03月27日
switch case语句适用于从一组互斥的分支中选择一个执行分支。值得注意的就是case的值必须是常量表达式不允许是变量。C#中的switch case语句更安全,如果激活块中靠前的一个case子句,后面的case子句就不会被激活(除非使用goto语句、但不建意使用)。注意switch case语句有一种例外情况,如果一个case子句为空,就可以从这个case跳到下一个case上,这样就可...
哈希表--HashSet<T>
2017年03月26日
.Net3.5之后出现了HashSet<T>,硬翻译过来就是“哈希集合”,跟“哈希”两字挂钩说明这种集合的内部实现用到了哈希算法,用Reflector工具就可以发现,HashSet<T>和Dictionary<TKey,TValue>使用了相同的存储方式和哈希冲突算法,那么,它跟Dictionary<TKey,TValue>和Hashtable在使用上到底有什么不同?HashSet<T>对集合运算...
C#.Net 垃圾回收机制GC详解
2017年03月17日
【优点】1.提高软件系统的内聚。2.降低编程复杂度,使程序员不必分散精力去处理析构。3.不妨碍设计师进行系统抽象。4.减少由于内存运用不当产生的Bug。5.成功的将内存管理工作从程序的编写时,脱离至运行时,使不可预估的管理漏洞变为可预估的。【算法工作原理】垃圾收集器的本质,就是跟踪所有被引用到的对象,整理不再被引用的对象,回收相应的内存。这听起来类似于一种叫做“引用计数(Reference Cou...
.Net 垃圾回收机制原理(二)
2017年03月17日
弱引用(Weak References)当程序的根对象指向一个对象时,这个对象是可达的,垃圾回收器不能回收它,这称为对对象的强引用。和强引用相对的是弱引用,当一个对象上存在弱引用时,垃圾回收器可以回收此对象,但是也允许程序访问这个对象。这是怎么回事儿呢?请往下看。如果一个对象上仅存在弱引用,并且垃圾回收器在运行,这个对象就会被回收,之后如果程序中要访问这个对象,访问就会失败。另一方面,要使用弱引用...
.Net 垃圾回收机制原理(一)
2017年03月17日
有了Microsoft.Net clr中的垃圾回收机制程序员不需要再关注什么时候释放内存,释放内存这件事儿完全由GC做了,对程序员来说是透明的。尽管如此,作为一个.Net程序员很有必要理解垃圾回收是如何工作的。这篇文章我们就来看下.Net是如何分配和管理托管内存的,之后再一步一步描述垃圾回收器工作的算法机制。为程序设计一个适当的内存管理策略是困难的也是乏味的,这个工作还会影响你专注于解决程序本身要...
c#中get set 的使用
2017年03月13日
在早期学习c#的过程中,经常遇到这样的语句:public string StudentName{ get{return stuName;} set{stuName=value;}}当时也不是很明白为什么要这样?学深了c#后,又没法对其做一个总结。今天看了《Visual c#.net程序设计教程》这本书,总结得不错,做下笔记:在许多面向对象程序设计语言中,属性 { Student stu = ...