C#
文章平均质量分 80
xu123yong
这个作者很懒,什么都没留下…
展开
-
使用C#进行图像处理的几种方法
本文讨论了C#图像处理中Bitmap类、BitmapData类和unsafe代码的使用以及字节对齐问题。 Bitmap类 命名空间:System.Drawing 封装 GDI+ 位图,此位图由图形图像及其属性的像素数据组成。Bitmap 是用于处理由像素数据定义的图像的对象。 利用C#类进行图像处理,最方便的是使用Bitmap类,使用该类的GetPixel()与Set转载 2012-05-13 17:19:44 · 772 阅读 · 0 评论 -
C#格式化
字符型转换为字符串// C 货币 2.5.ToString("C"); // ¥2.50 // D 10进制数 25.ToString("D5"); // 25000 // E 科学型 25000.ToString("E"); // 2.500000E+005 // F 固定点 25.ToString("F2"); // 25.00 // G 常规 2.5.转载 2012-07-17 15:42:55 · 307 阅读 · 0 评论 -
C#中的StreamReader/StreamWriter
在读写文件的过程中,Filestream只可以进行以字节为单位原始数据流进行读写操作,为此,C#中提供了功能更加强大的StreamReader/ StreamWriter来支持文件的读写. StreamReader/ StreamWriter可以进行以字符为单位的数据读写操作.. 一. 用StreamReader的构造函数 StreamReader有很多的构造函数:在这里只列出两个转载 2012-05-25 00:43:07 · 379 阅读 · 0 评论 -
C#文件读写补充知识
一. FileStream详解 1. (FileStream fs1 = File.Open("c:\\test.txt", FileMode.Open)); FileMode.Open 直接用FileStream类打开文件c:\\test.txt", 2. (FileStream fs2 = File.Open("c:\\test.txt", FileMode.Appen转载 2012-05-25 00:44:16 · 270 阅读 · 0 评论 -
C#中索引器的实现过程
C#语言一个最令人感兴趣的地方就是类的索引器(indexer)。简单说来,所谓索引器就是一类特殊的属性,通过它们你就可以像引用数组一样引用自己的类。显然,这一功能在创建集合类的场合特别有用,而在其他某些情况下,比如处理大型文件或者抽象某些有限资源等,能让类具有类似数组的行为当然也是非常有用的。本文就会引领你设置类来采用索引器。但是,首先让我们概述下属性这个概念以便了解些必要的背景知识。属性转载 2012-06-12 03:31:46 · 753 阅读 · 0 评论 -
C#中的interface没那么简单
最近在园子里闲逛看到一篇文章“(抽象)类和接口细节分析”,尽管作者很细心很细致。可事实上C#里面的interface没那么简单,interface有着大量不为人知的小秘密的说。1、值类型也能实现接口。尽管可能很多人连值类型都没用过,但值类型可以实现接口,是一个非常有用的特性。当值类型转换为接口类型时,会自动装箱成引用类型从而实现多态,但一般用值类型实现接口的老鸟都不会被这些小陷阱所迷惑转载 2012-05-20 16:46:36 · 250 阅读 · 0 评论 -
类和接口细节分析
抽象类是否可继承接口?抽象类里面可以包括抽象方法和非抽象方法,而接口只是定义了方法的原型,没有方法的具体定义。从这方面来分析,抽象类是可以继承接口的。抽象类继承接口后,一定要实现接口中的成员方法么?答案是否定的。抽象类继承接口后,可以实现接口中的成员方法,也可以不实现。如果不实现接口中成员方法,只需将该方法声明为abstract类型就可以了。interface ITem转载 2012-05-20 16:45:31 · 344 阅读 · 0 评论 -
C#中的泛型
C#中泛型泛型并不是一个全新的结构,其他语言中有类似的概念。例如,C++模板就与泛型相当。但是,C++模板和.NET泛型之间有一个很大的区别。对于C++模板,在用特定的类型实例化模板时,需要模板的源代码。相反,泛型不仅是C#语言的一种结构,而且是CLR定义的。所以,即使泛型类是在C#中定义的,也可以在Visual Basic中用一个特定的类型实例化该泛型。 值类转载 2012-06-07 00:37:40 · 435 阅读 · 0 评论 -
C#中事件的使用
用一个例子来说明事件的使用。创建一个简单的类,名为FileWatch,包含事件OnfileChange。该类将检查在执行应用程序的目录(当前目录,通常是项目名/bin/debug)下,是否存在文件test.txt。如果文件被删除或创建,都将触发事件。同时提供一个方法MonitorFile以不断地查询该文件。方法:在创建一个可用事件之前,首先声明一个委托,放在类的外面。pub转载 2012-05-19 16:11:46 · 259 阅读 · 0 评论 -
Invoke 和 BeginInvoke 的真正涵义
public delegate void treeinvoke();private void UpdateTreeView(){ MessageBox.Show(System.Threading.Thread.CurrentThread.Name);}private void button1_Click(object sender, System.EventArgs e){转载 2012-05-18 23:44:53 · 326 阅读 · 0 评论 -
C# 中的委托和事件
引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对转载 2012-05-18 23:58:49 · 282 阅读 · 0 评论 -
C# Winform异步调用详解
C#异步调用四大方法是什么呢?C#异步调用四大方法的使用是如何进行的呢?让我们首先了解下什么时候用到C#异步调用:.NET Framework 允许您C#异步调用任何方法。定义与您需要调用的方法具有相同签名的委托;公共语言运行库将自动为该委托定义具有适当签名的 BeginInvoke 和 EndInvoke 方法。BeginInvoke 方法用于启动C#异步调用。它与您需要异步执行的方法具转载 2012-05-18 23:46:48 · 2617 阅读 · 0 评论 -
C#中Invoke的用法
在做一个测试Tcp连接的DEMO,想用TcpClient.BeginConnect异步调用,在回调方法里更新winform.TextBox的值输出结果,直接使用TextBox.Text出错(线程间操作无效,不是从创建控件XX的线程访问他),想过使用winform.Invoke不过一直想Inovke将Tcp连接进行封装委托,原来应该将更新界面的方法进行委托。最后代码public partia转载 2012-05-18 23:42:19 · 583 阅读 · 0 评论 -
关于C#中==与Equals方法的区别总结
说明: 这是个人的一家之见,自己查阅资料总结而出,基本指明了C#中==与Equals方法的区别为了保护原创作者的原创性,请您先参考一下文章,之后回来做一个讨论交流:http://www.cnblogs.com/jiahaipeng/archive/2008/04/11/1146316.html#commentform为了方便理解,我把源代码粘贴过来://class Person转载 2012-06-07 01:42:48 · 441 阅读 · 5 评论 -
C#中指针*的使用(unsafe关键字与fixed 语句)---01
unsafe 关键字表示不安全上下文,该上下文是任何涉及指针的操作所必需的。有关更多信息,请参见不安全代码和指针(C# 编程指南)。可以在类型或成员的声明中使用 unsafe 修饰符。因此,类型或成员的整个正文范围均被视为不安全上下文。例如,以下是用 unsafe 修饰符声明的方法:[csharp] view plaincopyprint?unsafe static转载 2012-05-18 01:14:17 · 514 阅读 · 0 评论 -
C#指针*的使用(使用指针复制字节数组)---02
下面的示例使用指针将字节从一个数组复制到另一个使用指针的数组。此示例使用 unsafe 关键字,它允许在 Copy 方法内使用指针。fixed 语句用于声明指向源数组和目标数组的指针。这将锁定源数组和目标数组在内存中的位置,使其不会因为垃圾回收操作而移动。这些内存块将在fixed 块结束时取消锁定。因为本示例中 Copy 函数使用了unsafe 关键字,它必须使用/unsafe 编译器转载 2012-05-18 01:15:56 · 940 阅读 · 0 评论 -
string、Empty和null三者的区别
这是一个及其常见的问题,网上已经有关于这个问题的很多讨论。但是我觉得都是不求甚解,有一些还是在误导别人。下面我来说下我对这三者的理解,如有错误的地方请大家及时指正。 一:""与string.Empty我认为是一样的。网上有一篇被转载了几十遍的文章是这样说的string.Empty 不分配存储空间,"" 分配一个长度为空的存储空间,我认为这句话是错误并且含糊不清的。 1、实际上Emp转载 2012-06-01 15:37:07 · 297 阅读 · 0 评论 -
在c#中使用servicestackredis操作redis
下载地址: https://github.com/mythz/ServiceStack.Redis添加dll引用:using ServiceStack.Common.Extensions;using ServiceStack.Redis;using ServiceStack.Redis.Generic;using ServiceStack.Text;using Se转载 2013-08-26 16:08:23 · 734 阅读 · 0 评论