随笔分类 - C#
摘要:http://www.cnblogs.com/Ninputer/archive/2011/08/18/2145045.html前几天技术大牛Vczh同学开发了一个函数图像绘制程序,可以画出方程f(x,y)=0的图像。他的原理是用图像上每一点的坐标带入函数f得到针对x和y的两个方程,再用牛顿迭代法求解得到一组点集,然后画到图像上。用他的程序可以画出各种各样令人惊叹的方程图形。但是他的程序非常慢,因为对每一个点坐标都用牛顿迭代法求解是一项很费时的任务,即使采用了Parallel.For,CPU算起来也很吃力。我研究了他的程序之后觉得可以用擅长并行计算的显卡来加速迭代法求解的过程。用OpenCL来完
阅读全文
摘要:http://blog.csdn.net/lexiaoyao20/article/details/6628830方法一:像素法即循环扫描整张图片,设置每一个像素的Alpha通道的值。 由于是一个个像素的处理,所以这种方法效率很低。[csharp] view plaincopyprint?///<summary> ///设置图片的透明度 ///</summary> ///<paramname="bitmap">原图</param> ///<paramname="alpha">透明度(0-255之间
阅读全文
摘要:C#生成100个不重复的随机数算法,从1~1000中生成不重复的随机数100个,用到了hashtable,这样的话减少检索重复数的范围,这个也是面试时经常问到的一个题目。代码如下:Int32 count = 0; Dictionary<Int32,IList<Int32>> results=new Dictionary<int,IList<int>>(); while (count < 100) { while (true) { Int32 rand = new Random().Next(1, 1000); Int32 mod = ran
阅读全文
摘要:2011年12月09日15:44 来源:InfoQ 作者:侯伯薇 译 编辑:皮丽华 评论:0条 【IT168技术】微软正在努力改进 .NET 4.5 中应用程序的性能,特别是使用任务并行类库(Task Parallel Library)的那些应用。接下来我会带你预览将要完成的改进内容: Task, Task<TResult> .NET 并行编程API 的核心是Task 对象。对于这样重要的类,微软想法设法保证它要尽可能小。Task 的大多数属性都没有保存在类本身之中,而是保存在另一个名为 ContingentProperties 的对象中。这个二级对象会在程序需要的时候才创建,这样
阅读全文
摘要:http://tech.it168.com/a2011/0421/1180/000001180955.shtml【IT168技术】并行计算无疑是.Net Framework平台的一大亮点,它自动的将一个任务分解,并以并发的形式执行,程序员不用操心各任务之间的协作和同步问题,这使得可以更加专注于业务的实现。 .NET 中的 TPL(Task Parallel Library),中文意思是任务并行库,它的设计是为了能更简单地编写可自动使用多处理器的托管代码。使用该库,用户可以非常方便地用现有序列代码表达 潜在并行性,这样序列代码中公开的并行任务将会在所有可用的处理器上同时运行,通常这会大大提高..
阅读全文
摘要:http://www.cnblogs.com/tinyhu/archive/2011/09/22/2185588.html自微软2000年发布.Net战略以来有10年多,世界上有数百万的程序员在.Net Framework上构建了自己的应用产品。从2002年发布.Net1.0开始,先后发布了.Net1.0、1.1、2.0、3.5、4.0等重要版 本。与之同时,微软也同时推出了集成IDE开发环境Visual Studio,目前最新版本是Visual Studio 2010。同时微软在VS2005引入了软件生命周期过程管理工具Visual Studio Team System(VSTS),扩展了V
阅读全文
摘要:http://blog.csdn.net/fan158/article/details/5891780简介摘要:MessageBox.Show (String) 显示具有指定文本的消息框。由 .NET Compact Framework 支持。 MessageBox.Show (IWin32Window, String) 在指定对象的前面显示具有指定文本的消息框。 MessageBox.Show(String)显示具有指定文本的消息框。 由.NETCompactFramework支持。 MessageBox.Show(IWin32Window,String)在指定对象的前面显示具有指定文本的消
阅读全文
摘要:http://tech.it168.com/a2011/1020/1261/000001261222.shtml2011年10月20日10:23 来源:博客园 作者:LoveJenny 编辑:皮丽华 评论:0条【IT168资讯】前段时间,有个同事说“3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
阅读全文
摘要:http://tech.it168.com/a2011/0921/1249/000001249501.shtml2011年09月21日11:57 来源:InfoQ 作者:Jonathan Allen 译者 侯伯薇 编辑:皮丽华 评论:0条【IT168资讯】尽管我们可以使用.NET语言来调用Win32 API,但那样做会很困难。所以在过去的两年间微软一直在构建替代的方案,它就是实现了跨语言支持的Windows运行时,即WinRT。我们可以在 C++和.NET中创建WinRT组件,并且可由二者以及JavaScript使用。 尽管COM在表面上是一种基于OOP的框架,但它与.NET之间有很大的区别.
阅读全文
摘要:http://tech.it168.com/a2011/0926/1251/000001251516.shtml【IT168资讯】 摘要 相信许多人都使用过.NET提供的加密算法,而且在使用的过程我们必须了解每种加 密算法的特点(对称或非对称,密钥长度和初始化向量等等)。我也看到过很多人写过.NET中加密算法总结,但我发现个别存在一些问题,很多人喜欢罗列每种 加密算法的具体实现,假设我们要求实现AES和Triple DES加密算法,的确可以很多地分别给出它们的具体实现。 那我们真的有必要给出每个加密算法的具体实现吗?而且这样的设计不符合OOP设计思想,最重要的是我们要维护多个加密算法啊!O..
阅读全文
摘要:Log4net创建日志及简单扩展2010-03-19 18:05 1009人阅读 评论(5) 收藏 举报1、概述log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段。2、一个简单的使用实例第一步:在项目中添加对log4net.dll的引用,这里引用版本是1.2.10.0。第二步:程序启动时读取log4net的配置文件。如果是CS程序,在根目录的Program.cs中的Main方法
阅读全文
摘要:一、.config设置NET的应用程序配置文件,使用的是XML格式。相对INI文件来说,它的功能要强上不少,而且具有很强的可扩展性。它的缺点是不能直接进行写操作,也就是说,不能直接在程序中修改配置文件的数据(当然不是指不能,不过不是本文讨论的范围)。本文主要目的是探讨如何扩展配置文件,并在其加入各种自定义配置信息。1. 使用<appSettings> 简单的配置信息,可以直接放入<appSettings>标记中。如: <?xmlversion="1.0"encoding="utf-8"?><appSettings
阅读全文
摘要:http://www.cnblogs.com/springyangwc/archive/2011/10/12/2208991.html概述AutoResetEvent 允许线程通过发信号互相通信。 通常,当线程需要独占访问资源时使用该类。线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号。 如果 AutoResetEvent 为非终止状态,则线程会被阻止,并等待当前控制资源的线程通过调用 Set 来通知资源可用。调用 Set 向 AutoResetEvent 发信号以释放等待线程。 AutoResetEvent 将保持终止状态,直到一个正在等待的线程被释放,然后自动返
阅读全文
摘要:WinForm:进度条的实现(异步)http://www.cnblogs.com/Jason_z/archive/2009/10/15/1583669.html
阅读全文
摘要:源码pub:功能强大的登陆窗体(winForm)http://www.cnblogs.com/Jason_z/archive/2009/10/22/1587848.htmlWinForm:一个登陆窗体引发的问题系列(一):最简单的登陆窗口http://www.cnblogs.com/Jason_z/archive/2009/10/21/1587357.htmlWinForm:一个登陆窗体引发的问题系列(二):用户名文本框的输入限制http://www.cnblogs.com/Jason_z/archive/2009/10/21/1587399.htmlWinForm:一个登陆窗体引发的问题系列
阅读全文
摘要:http://www.cnblogs.com/chenxizhang/archive/2011/09/10/2172994.html这一篇文章,我将图文并茂地介绍Socket编程的基础知识,我相信,如果你按照步骤做完实验,一定可以对Socket编程有更好地理解。本文源代码,可以通过这里下载 http://files.cnblogs.com/chenxizhang/SocketWorkshop.rar第一步:创建解决方案第二步:创建服务端程序这里可以选择“Console Application”这个类型,比较方便调试然后编写如下代码,实现服务器的基本功能using System;using Sy
阅读全文
摘要:http://www.cnblogs.com/wxxian001/archive/2011/09/07/2169519.html刚刚完成一个简单的网络爬虫,因为在做的时候在网上像无头苍蝇一样找资料。发现了很多的资料,不过真正能达到我需要,有用的资料--代码很难找。所以我想发这篇文章让一些要做这个功能的朋友少走一些弯路。首先是抓取Html源码,并选择<ul class="post_list"> </ul>节点的href:要添加using System.IO;using System.Net;01private void Search(string ur
阅读全文
摘要:http://www.cnblogs.com/GrayZhang/archive/2011/09/07/csharp-vnext.htmlC#发展至今,已经从最初的1.0到了4.0版本,不如来回顾一下各个版本都带来了什么:1.0版本 - 基本C#语法。2.0版本 - 泛型的支持,CLR进行了升级,从根本上支持了运行时泛型。3.0版本 - LINQ,添加了from / join等类SQL关键字,添加了扩展函数,添加了编译期动态类型var关键字。4.0版本 - dynamic关键字,CLR进行升级,加入DLR,开始对动态进行友好的支持。同时加入动态参数、参数默认值、泛型协变等特性。可以看到,C#从
阅读全文
摘要:http://www.cnblogs.com/JamesLi2015/archive/2011/09/08/2170519.htmlReflector是.NET开发中必备的反编译工具。即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善。举例说明,它有一个可以查看程序集完整名称的功能,请看下图这里的Name,是标识一个程序集的完整标识,当GAC中存在程序集的多个版本时,这个名称是唯一的识别名称。但是,Reflector很早就转向收费软件了,需要购买许可才可以使用。对于耻于用盗版的朋友,通常会放弃。有朋友说,Reflector并没有增加更霸道的功
阅读全文
摘要:http://zhoufoxcn.blog.51cto.com/792419/429988明自从上次在2008年在博客上发表过有关log4net的用法介绍文章之后(网址:http://blog.csdn.net/zhoufoxcn/archive/2008/03/26/2220533.aspx),有不少朋友在博文下留言询问一些细节,现在就一些比较普遍的问题做一些稍微深入的解答,希望大家满意。首先说明一点的是,log4net解决的问题是提供一个记录日志的框架,它提供了向多种目标写入的实现,比如利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括MS SQ
阅读全文