文章标签 ‘代码示例’
[转载]浅谈C# 中的lock 方法与Monitor 类的关系_以及同步与互斥 – xugang – 博客园. 这是一个旧瓶新装的话题。只是将我今日的所见所思予以实践和整理,以备往后所用。同时也提供给大家,希望能有所帮助。 A 从单例模式说起 代码如下: class Program { static void Main(string[] args) { Singleton demo1 = Singleton.Init(); Singleton demo2 = Singleton.Init(); } } public class Singleton { private Singleton() { } private static Singleton instance = null; private static readonly object singleObj = new object(); public static Singleton [...]
[转载]Asp.net中文件的压缩与解压 – 清风飘过 – 博客园. 这里笔者为大家介绍在ASP.NET中使用文件的压缩与解压。在ASP.NET中使用压缩给大家带来的好处是显而易见的,首先是减小了服务器端 文件存储的空间,其次下载时候下载的是压缩文件想必也会有效果吧,特别是比较大的文件。有的客户可能会很粗心上传的是文件,那么可以通过判断后缀名来判断 文件,不是压缩文件,就可以压缩文件,在存储。 这里笔者引用了一个DLL文件(ICSharpCode.SharpZipLib.dll)(包含在本文代码中),调用其中的函数,就可以对文件进行压缩及解压了。其中压缩笔者主要用到的函数是 1 /// <summary> 2 /// 压缩文件 3 /// </summary> 4 /// <param name=”fileName”>要压缩的所有文件(完全路径)</param> 5 /// <param name=”name”>压缩后文件路径</param> 6 /// <param name=”Level”>压缩级别</param> 7 public void ZipFileMain(string[] filenames, string name, int Level) 8 { 9 ZipOutputStream s = new ZipOutputStream(File.Create(name)); 10 Crc32 crc = new Crc32(); 11 [...]
[转载]简单但有用的SQL脚本Part6:特殊需要的行转列 – 我帅故我在 – 博客园. 一、数据库SQL Server行转列 需求:原始表的数据的结构如图1所示,把相同的guid的code值转换为列值。 (图1) 目标:我们希望达到的效果如图2所示,这里的guid变成唯一的了,这行的记录中包含了这个guid所对应的code字段值。 (图2) 分析与实现:要实现图1到图2的转变,这就是所谓的行转列,下面我们来讲讲具体的实现: 1. 首先我们先创建一个测试表,方便后面的效果展现;
[转载]c#4.0——泛型委托的协变、逆变Demo – Roy Ming – 博客园. 在编程语言中,“协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型。“逆变”则是指能够使用派生程度更小的类型。 在 .NET Framework 4 和 Visual Studio 2010 中,C# 和 Visual Basic 都支持在泛型接口和委托中使用协变和逆变,并允许隐式转换泛型类型参数。 如果泛型接口或委托的泛型参数声明为协变或逆变,则将该泛型接口或委托称为“变体”。C# 和 Visual Basic 都允许您创建自己的变体接口和委托。 在匹配方法签名和委托类型方面,非泛型委托也支持协变和逆变。这样,您不仅可以为委托指派具有匹配签名的方法,而且可以指派这样的方法:它们返回与委托类型指定的派生类型相比,派生程度更 大的类型(协变),或者接受相比之下,派生程度更小的类型的参数(逆变)。 实例 首先定义一个接口IColor及两个派生类 public interface IColor { } public class Red : IColor { } public class Blue : IColor { } 定义ColorDemo类用来写展示协变与逆变的逻辑 public class ColorDemo{} 编写具体实现 public [...]

