C# DateTime.ToString的坑
摘要:当需要将时间类型转换为字符串类型时,一般直接使用datetime.ToString()方法即可 1、直接使用ToString(),不带任何参数,代码如下 不建议使用这种方式,因为输出的字符串格式将会匹配运行电脑的时间格式,会导致在不同的环境下,输出结果的不一致。 2、在ToString中指定输出的字
阅读全文
posted @
2016-11-18 14:36
JustYong
阅读(773)
推荐(1) 编辑
第一次通过CLR Profile解决内存占用过高的问题
摘要:炮哥:"嘿,哥们,忙啥呢,电脑卡成这逼样。"勇哥:"在用CLR Profile工具分析下FlexiPrint的内存占用情况。"炮哥:“哎哟,不错啊,玩高级的了。”勇哥:“也没有啊,就是发现点击查询按钮查询数据时,如果数据量一大的话,内存上上升了好几个M,所以第一感觉就不太正常。正好以前也了解过CLR...
阅读全文
posted @
2016-01-14 21:14
JustYong
阅读(2576)
推荐(11) 编辑
未处理的异常
摘要:1.控制台应用程序全局捕获未处理的异常 2.Winform应用程序全局捕获未处理的异常 3.WPF应用程序全局捕获未处理的异常 但是AppDomain.CurrentDomain.UnhandledException并非像声明的那样能捕获到所有的异常,详细请参与如下文档。 http://stacko
阅读全文
posted @
2016-01-08 17:42
JustYong
阅读(775)
推荐(0) 编辑
[CLR via C#]值类型的装箱和拆箱
摘要:我们先来看一个示例代码:namespace ConsoleApplication1{ class Program { static void Main(string[] args) { ArrayList a = new ArrayLis...
阅读全文
posted @
2015-09-06 17:29
JustYong
阅读(305)
推荐(0) 编辑
[CLR via C#]引用类型和值类型
摘要:一、引用类型与值类型的区别CLR支持两种类型:引用类型和值类型。引用类型总是从托管堆上分配的,C#的new操作符会返回对象的内存地址。使用引用类型时,必须注意到一些性能问题。1)内存必须从托管堆上分配。2)堆上分配的每个对象都有一些额外的成员(类型对象指针和同步索引块),这些成员必须初始化。3)对象...
阅读全文
posted @
2015-09-06 15:39
JustYong
阅读(333)
推荐(0) 编辑
[CLR via C#]基元类型
摘要:一、什么是基元类型某些数据类型如此常用,以至于许多编译器允许代码以简化的语法来操纵它们。例如,可以使用以下语法来分配一个整数:System.Int32 a = new System.Int32();但你肯定不愿意使用这种语法来声明并初始化一个整数,因为实在是太繁琐了。幸运的是,包括C#在内的许多编译...
阅读全文
posted @
2015-09-06 10:53
JustYong
阅读(342)
推荐(0) 编辑
[CLR via C#]委托
摘要:委托是一种新的面向对象语言特性,委托的功能是在CLR的支持下实现的,这就意味着它并不受限于特定的编程语言,比如C#使用delegate关键字来定义委托,其他的.NET编程语言可以使用自己的方式来定义委托。 以委托作为基础,.NET构造了一个技术大厦,事件驱动、异步调用和Lambda表达式都建立...
阅读全文
posted @
2015-08-29 15:37
JustYong
阅读(964)
推荐(1) 编辑
[CLR via C#]可空值类型
摘要:一、它为什么而存在 设计一个数据库时,可将一个列的数据类型定义成一个32位整数,并映射到FCL的Int32数据类型。但是,数据库中的一个列可能允许值为空,也就是说,该列在某一行上允许没有任何值。用.NET Framework处理数据库数据时可能变得相当困难,因为在CLR中,没有办法将一个Int3...
阅读全文
posted @
2015-08-27 23:26
JustYong
阅读(287)
推荐(0) 编辑
[CLR via C#]异常和状态管理
摘要:当CLR检测到某个正在运行的.NET应用程序处于一种特殊的正常执行顺序被打断的状态时,会生成一个异常对象来表示这个错误,并将此对象在方法调用堆栈中向上传送。如果一个程序引发了一个异常却没有处理,CLR将会中断此进程。一、异常处理机制1.基本语法try{ //可能引发异常的语句}catch...
阅读全文
posted @
2015-08-24 09:39
JustYong
阅读(1337)
推荐(1) 编辑
从托管堆分配资源
摘要:进程初始化时,CLR要保留一块连续的地址空间,这个地址空间最初并没有对应的物理空间。这个地址空间就是托管堆。托管堆还维护着一个指针,称为NextObjPtr。它指向下一个对象在堆中的分配位置。刚开始的时候,NextObjPtr设为保留地址空间的基地址。 IL指令newobj用于创建一个对象。new...
阅读全文
posted @
2015-08-04 23:15
JustYong
阅读(205)
推荐(0) 编辑
项目常用解决方案之SystemSetting.xml文件的修改与读取
摘要:Winform及WPF项目中经常会用到类似SystemSetting.xml等类似的文件用于保存CLIENT的数据,比如登录过的用户名或密码以及其他设置。所以就想到一个解决方法,可以用到所有有此需求的项目中去,避免重复写代码。 1.创建一个Attribute类,用于指定属性在XML文件中的Path
阅读全文
posted @
2015-01-19 11:47
JustYong
阅读(1819)
推荐(0) 编辑
接口乱谈
摘要:一、定义接口 接口对一组方法签名进行了统一命名。定义接口类型时,可指定的可见性为public 或 internal,但在[CLR via C#]第3版书中的原话是:"定义接口类型时,可指定你希望的任何可见性/可访问性(public,protected,internal等)",个人认为这句话说得不妥。...
阅读全文
posted @
2014-07-30 23:20
JustYong
阅读(192)
推荐(0) 编辑