简单、现代、通用
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开发的首选语言。
如何提高代码的性能
2017年09月01日
首先我们要意识到什么会导致性能问题。比如系统的内存开销和CPU计算导致,很有可能是10-20%的代码会消耗掉百分之80的性能。1,lay evaluation 懒惰计算法 当系统CPU内存紧张时注意:减小避开延迟计算,不论是内存占用还是表达式算法运算,真正需要的时候才计算需要的,内存对象要控制好,CPU控制好,IO控制好内存方面避免内存中频繁的申请对象和释放对象,同时避免大型对象的每次都初始化...
VS 性能分析 概念理解
2017年09月01日
一、基本Profile分析1)摘要视图可以选择指定的区域进行分析,比如成功运行以后的,或者高峰点进行右键筛选分析。2)调用关系树视图 可以看到总体的性能消耗函数。3)调用和被调用视图,可以主要的性能开销调用路径。4)函数视图可以看到每个函数的调用情况: 定位入口点“非独占样本数”指示该函数及其调用的任何函数所执行的工作量。 高非独占计数指向整体消耗资源最多的函数。 具体性能瓶颈函数:“...
获取ip归属地
2017年09月01日
最开始选择的是ip138的接口,后来出现请求过多会报网关超时等错误,然后尝试改成淘宝的接口,发现回传的归属地不准确于是最终选择了新浪的。据观察,没有错误。新浪语法 (以下是c#的语法,若是前台调用 可以将路径中的format改为=js)////// 获取IP归属地 Edited by Sanne at 2016-03-24////// IP地址/// IP归属地public static stri...
提升c#代码的质量方法
2017年09月01日
1 公共方法尽可能的使用缓存2, 对于不改变的变量,用常量代替 3 用Linq代替大量的foreach查询 4 MyType t=(MyType) t和t as MyType的效率比较,后者效率好,而且转换失败后不会抛出异常 5 List 代替Array ,Haset ,Dictionary 代替Hashtable.NET的内置的方法,string.Join可以将字符串数组连接成由一个分...
获取IP
2017年09月01日
////// 获取用户的IP地址///public static string GetIP(){ string user_IP = HttpContext.Current.Request.Headers["X-Forwarded-For"]; if (user_IP != null && user_IP.ToLower() != "unknown") { //X-F...
优化反射性能的总结(上)
2017年08月31日
反射是一种很重要的技术,然而它与直接调用相比性能要慢很多,因此如何优化反射性能也就成为一个不得不面对的问题。 目前最常见的优化反射性能的方法就是采用委托:用委托的方式调用需要反射调用的方法(或者属性、字段)。那么如何得到委托呢? 目前最常见也就是二种方法:Emit, ExpressionTree 。其中ExpressionTree可认为是Emit方法的简化版本, 所以Emit是最根本的方法,它采用...
c# 温故而知新: 线程篇(一)
2017年08月26日
首先让我们翻开书本来了解下线程的一些基础知识: 1 线程有时被称为轻量级进程,是程序执行流的最小单元 2 线程时由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。 3 线程自身不能拥有系统资源,但是可以...
浅析 c# Queue
2017年08月26日
1、Queue定义 System.Collections.Queue类表示对象的先进先出集合,存储在 Queue(队列) 中的对象在一端插入,从另一端移除。 2、优点 1、能对集合进行顺序处理(先进先出)。 2、能接受null值,并且允许重复的元素。 3、 Queue的构造器 ...