• 最近用Timer踩了一个坑,分享一下避免别人继续踩

    最近做一个小项目,项目中有一个定时服务,需要向对方定时发送数据,时间间隔是1.5s,然后就想到了用C#的Timer类,我们知道Timer 确实非常好用,因为里面有非常人性化的start和stop功能,在Timer里面还有一个Interval,就是用来设置时间间隔,然后时间间隔到了就会触...

    2018-06-17 21:00:01

  • C#基础---委托的使用

    一:什么是委托 委托是一种定义方法签名的类型 当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。 您可以通过委托实例调用方法。委托是一个引用类型,所以它具有引用类型所具有的通性。它保存的不是实际值,而是保存对存储在托管堆(managed heap)中的...

    2018-06-17 20:59:59

  • C# 处理csv格式的Excel文件代码

    public class CSVFileHelper { /// summary /// 将DataTable中数据写入到CSV文件中 /// /summary /// param name="dt"提供保存数据的DataTable/param /// param name="fileName"CSV的文件路径/param public static void SaveCSV(DataTable dt, string fullPath) { File...

    2018-06-17 20:59:26

  • 看看Parallel中高度封装的三个方法,Invoke,For和ForE

    说到.net中的并行编程,也许你的第一反应就是Task,确实Task是一个非常灵活的用于并行编程的一个专用类,不可否认越灵活的东西用起来就越 复杂,高度封装的东西用起来很简单,但是缺失了灵活性,这篇我们就看看这些好用但灵活性不高的几个并行方法。 一:Invoke 现在电...

    2018-06-17 20:59:56

  • log4net 使用笔记

    一、Log4net特征 1、自定义日志输出级别 Log4net将日志分为五个级别优先级从高到低依次:FATAL ERROR WARN INFO DEBUG,此外还有ALL(允许所有的日志请求)和OFF(拒绝所有的日志请求)这两种特殊的级别。可以通过日志级别来控制日志是否输出。 如果你配置文件中定义的...

    2018-06-17 20:59:31

  • C#泛型List的用法

    一、ListT命名空间: System.Collections.Generic(程序集:mscorlib) 二、ListT描述: 1)、表示可通过索引访问的对象的强类型列表;提供用于对列表进行搜索、排序和操作的方法。 2)、是ArrayList类的泛型等效类。 3)、可以使用一个整数索引访问此集合中的元素;索...

    2018-06-17 20:59:25

  • 设计模式(8)---桥接模式

    定义: 桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 解释:抽象与它的实现分离并不是说让抽象类与其派生类分离,而是抽象类和它的派生类用来实现自己的对象。 UML类图和基本代码: class Program { static void Main( string [] args) { Abstra...

    2018-06-17 20:59:24

  • Advanced .NET Debugging: Managed Heap and Garbage

    原文地址:http://www.informit.com/articles/article.aspx?p=1409801seqNum=4 Debugging Managed Heap Fragmentation Earlier in the chapter, we described a phenomenon known as heap fragmentation, in which free and busy blocks are arranged and interleaved...

    2018-06-17 20:59:22

  • c#资料

    类型系统: 运行模型: 整型: 浮点: 财务: 布尔: 字符: 引用类型: Console控制字符: {序号,空间:控制字符与精度} 如:{0,3:C2} {空间:#.00} 其中,#表示该位置如果有字符就显示,否则忽略;0如果有显示,否则显示0 xml注释: 类权限控制符: 类修饰符: 泛型约...

    2018-06-17 20:59:21

  • 简单的反射

    想起来研究下简单的反射,然后就在网上找了点资料,也找了点代码,大致如下: public static void PrintPropertiesT (T t) { if (t == null ) { return ; } PropertyInfo[] properties = t.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public); if...

    2018-06-17 20:59:10

2