关闭

[置顶] 一些很有趣的网站

1,360度高清晰无死角可任意放大缩小的网站,让你站在难以企及的视角观察壮美绝伦的风光!  (温馨提示:看久了会感觉头晕哦,点击图片上的直升飞机可以体验上帝视角)   http://www.airpano.com/       2,帮你入眠,帮你安静的网站  http://www.rainymood.com/   还在为睡...
阅读(45) 评论(0)

理解 Thread.Sleep 函数

我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: 假设现在是 2017-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2017-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0)...
阅读(11) 评论(0)

C#的Enum——枚举

枚举   枚举类型声明为一组相关的符号常数定义了一个类型名称。枚举用于“多项选择”场合,就是程序运行时从编译时已经设定的固定数目的“选择”中做出决定。   枚举类型(也称为枚举)为定义一组可以赋给变量的命名整数常量提供了一种有效的方法。例如,假设您必须定义一个变量,该变量的值表示一周中的一天。该变量只能存储七个有意义的值。若要定义这些值,可以使用枚举类型。枚举类型是使用 enum 关键...
阅读(18) 评论(0)

C# Lock关键字

lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。   lock语句根本使用的就是Monitor.Enter和Monitor.Exit,也就是说lock(this)时执行Monitor.Enter(this),大括号结束时执行Monitor.Exit(this).他的意义在于什么呢,对于任何一个对象来说,他在内存中的第一部分放置的是所有方法的地址...
阅读(23) 评论(0)

【C#】加快Bitmap的访问速度

在对Bitmap图片操作的时候,有时需要用到获取或设置像素颜色方法:GetPixel 和 SetPixel, 如果直接对这两个方法进行操作的话速度很慢,这里我们可以通过把数据提取出来操作,然后操作完在复制回去可以加快访问速度 其实对Bitmap的访问还有两种方式,一种是内存法,一种是指针法 1、内存法   这里定义一个类LockBitmap,通过把Bitmap数据拷贝出来,...
阅读(25) 评论(0)

C# File类的操作

File类,是一个静态类,主要是来提供一些函数库用的。静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件。File类方法的参量很多时候都是路径path。File的一些方法可以返回FileStream和StreamWriter的对象。可以和他们配套使用。 System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操...
阅读(39) 评论(0)

神奇的Timer

最近的一个项目有一些地方需要用到定时功能,在设计过程中,突然发现.net的Timer类居然还有很多我以前没有用过的功能,这里就跟大家分享一下 注:这里的Timer类特指System.Threading.Timer类 情景1:我需要服务器在每天的00:00点执行一个操作 我当开始想到的方法很2b,居然是设定定时器每个1分钟去检查时间,如果当前时间与00:00相差不超过1分钟时,就执...
阅读(23) 评论(0)

.net 反射访问私有变量和私有方法

以下为本次实践代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace Conso...
阅读(29) 评论(0)

如何创建C# Closure ?

JavaScript中一个重要的概念就是闭包,闭包在JavaScript中有大量的应用,但是你知道么?C#也可以创建Closure。下面就介绍一下如何在C#中创建神奇的闭包。   在这之前,我们必须先知道如何在C#中定义函数 //函数定义,参数为string,返回为string Funcstring, string> myFunc = delegate(string msg) ...
阅读(14) 评论(0)

C# 批量生成随机密码,必须包含数字和字母,并用加密算法加密

要求:密码必须包含数字和字母 思路:1.列出数字和字符。 组成字符串 :chars         2.利用randrom.Next(int i)返回一个小于所指定最大值的非负随机数。         3. 随机取不小于chars长度的随机数a,取字符串chars的第a位字符。         4.循环 8次,得到8位密码         5.循环N次,批量得到密码。...
阅读(27) 评论(0)

C#中的foreach和yield

1. foreach C#编译器会把foreach语句转换为IEnumerable接口的方法和属性。 foreach (Person p in persons) { Console.WriteLine(p); } foreach语句会解析为下面的代码段。 调用GetEnumerator()方法,获得数组的一个枚举 在while循环中,只要MoveNe...
阅读(24) 评论(0)

数组为什么可以使用linq查询

问题引出   这视乎是个完全不必要进行讨论的话题,因为linq(这里具体是linq to objects)本来就是针对集合类型的,数组类型作为集合类型的一种当然可以使用了。不过我还是想写一下,这个问题源于qq群里一位朋友的提问:.net的数组类型都隐式继承了Array类,该类是一个抽象类,并且实现了IEnumerable、ICollection、IList接口。但linq的方法都是针对实现了...
阅读(17) 评论(0)

C#中的 具名参数 和 可选参数

具名参数 和 可选参数 是 C# framework 4.0 出来的新特性。 一. 常规方法定义及调用 public void Demo1(string x, int y) { //do something... } public void Main() { //调用 Demo1("similar", 22); }...
阅读(21) 评论(0)

显示实现接口

接口定义了一系列的行为规范,为类型定义一种Can-Do的功能。例如,实现IEnumerable接口定义了GetEnumerator方法,用于获取一个枚举数,该枚举数支持在集合上进行迭代,也就是我们常说的foreach。接口只是定义行为,具体的实现需要由具体类型负责,实现接口的方法又分为隐式实现与显示实现。 一、隐式/显示实现接口方法   简单的说,我们平时“默认”使用的都是隐式的实现方...
阅读(18) 评论(0)

异步CTP(Async CTP)为什么那样工作?

对异步CTP感兴趣有很多原因。异步CTP使异步编程比以前更加容易了。它虽然没有Rx强大,但是更容易学。异步CTP介绍了两个新的关键字,async和await。异步方法(或Lambda表达式)必须返回void,Task或Task。这篇文章不是介绍异步CTP的,因为网上有很多这样的文章。这篇文章的目的是把程序员开始使用Async CTP遇到的一些常见问题集中起来。 推断返回类型 当从异步方...
阅读(34) 评论(0)

C#多线程基础,适合新手了解

一、创建线程   在整个系列文章中,我们主要使用Visual Studio 2015作为线程编程的主要工具。在C#语言中创建、使用线程只需要按以下步骤编写即可: 1、启动Visual Studio 2016,新建一个控制台应用程序。 2、确保该控制台程序使用.NET Framework 4.6或以上版本。然而在该篇中的所有示例使用较低版本可以正常工作。 3、双击打开该控制台...
阅读(23) 评论(0)
42条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:1564次
    • 积分:301
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:15篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档