毛毛的小窝 — 关注技术交流、让我们一起成长

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

随笔分类 -  .NET

I LOVE YOU!
abstract, virtual, override, new 关键字的用法
摘要:简单一点来说,相见msdn的介绍。virtual:包含函数体,继承类无需重写,当然也可以重写;abstract:不包含函数体,继承类必须重写;new:一般方法,继承类想覆盖之,采用new关键字进行;[代码]附录:msdn的介绍abstract 修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必... 阅读全文

posted @ 2008-11-28 10:06 mjgforever 阅读(696) 评论(0) 推荐(0) 编辑

利用 socket 获取 tcp 包并解析的问题。
摘要:服务器端代码如下:(Java Servlet 实现)protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {OutputStream out = response.getOutputStream(); try { res... 阅读全文

posted @ 2008-02-26 12:57 mjgforever 阅读(1617) 评论(0) 推荐(0) 编辑

(原) 基础知识学习(一):委托和事件(delegate and event)
摘要:最简单的话题,拿来一起探讨一下,希望能引起一些新的思考。 1、委托的由来 回调函数实际上是方法调用的指针,也称函数指针,.NET以委托的形式实现了函数指针的概念。简单说来,在编译时我们不知道第二个方法是什么,这个信息只能在运行时得到,所以需要把第二个方法作为参数传递给第一个方法。例如,Thread.Start(),方法必须带一个参数,改参数定义了要由线程调用的方法。另外,GUI编程主要... 阅读全文

posted @ 2008-01-04 15:04 mjgforever 阅读(484) 评论(0) 推荐(0) 编辑

(原) “线程池”的一个小例子
摘要:/**//* * “线程池”是可以用来在后台执行多个任务的线程集合。 * 线程池通常具有最大线程数限制。如果所有线程都繁忙,则额外的任务将放入队列中,直到有线程可用时才能够得到处理。 * ThreadPool.QueueUserWorkItem: 将用户方法排入队列以便执行。此方法在有线程池线程变得可用时执行。 * ManualResetEven: 通知一个或多个正在等待的线程已发生事件。... 阅读全文

posted @ 2007-12-31 13:26 mjgforever 阅读(542) 评论(0) 推荐(0) 编辑

(原) .NET 读写大文件
摘要:using System; using System.IO; class FStream { private const int SIZE = 1024; static void Main() { DealBigFile(@"C:\Kit.rar"); } // 处理大文件 public static void DealBi... 阅读全文

posted @ 2007-12-26 21:07 mjgforever 阅读(571) 评论(0) 推荐(0) 编辑

根据域名查IP (DNS解析)
摘要:public string GetIPByDomain(string url) { if (url.Trim() == string.Empty) return ""; try { System.Net.IPHostEntry host = System.Net.Dns.GetHostEntry(url); return ho... 阅读全文

posted @ 2007-12-14 09:49 mjgforever 阅读(677) 评论(0) 推荐(0) 编辑

类型参数的约束
摘要:在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制。如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。这些限制称为约束。约束是使用 where 上下文关键字指定的。下表列出了五种类型的约束: 约束 说明 ... 阅读全文

posted @ 2007-10-17 15:25 mjgforever 阅读(249) 评论(0) 推荐(0) 编辑

慎用ArrayList
摘要:使用非泛型集合类的限制可以通过编写一小段程序来演示,该程序利用 .NET Framework 基类库中的 ArrayList 集合类。ArrayList 是一个使用起来非常方便的集合类,无需进行修改即可用来存储任何引用或值类型。 // The .NET Framework 1.1 way to create a list: System.Collections.ArrayList list1 =... 阅读全文

posted @ 2007-10-17 13:19 mjgforever 阅读(253) 评论(0) 推荐(0) 编辑

C# xml dom应用
摘要:编写此案例的目的是为了描述在普通的应用程序中如何运用DOM技术以及对上一篇文章《C#中使用XML——实现DOM》中所讲述的DOM的相关知识回顾一下,本案例将分析一个联系人应用程序,在这里将XML文档充当数据库来使用, 所有的联系人信息存储在XML文档中,同时,在程序中使用DOM对联系人文档进行查询、编辑、更新等操作。具体来说本案例将实现以下功能: 1. 添加一个新的联系人 2. 修改现有联系人 3... 阅读全文

posted @ 2007-05-31 18:10 mjgforever 阅读(449) 评论(0) 推荐(0) 编辑

C# XML DOM 实现
摘要:LoadXML按纽用于加载XML文档,LoadXMLReader按纽使用XmlTextReader加载文档,SaveXML按纽保存文档,SaveXMLWriter按纽将文档保存到XmlTextWriter中,Add Product按纽添加节点,Replace Product按纽替换节点,Change Order按纽修改文档,Remove Product Info按纽移除节点。 DomOperati... 阅读全文

posted @ 2007-05-31 17:44 mjgforever 阅读(730) 评论(0) 推荐(0) 编辑

C# 写入XML
摘要:要编写XML同样是采用流的概念,在.NET中编写XML的细节是作为XmlWriter类来实现的,但该类是抽象类不能够实例化,为此,我们要想在程序中访问它的方法以实现编写XML的愿望,必需使用它的派生类XmlTextWriter,该类提供了一系列的属性和方法为我们编写XML做准备,下面将详细的介绍这个类: 构造函数: public XmlTextWriter(TextWriter); public ... 阅读全文

posted @ 2007-05-31 17:05 mjgforever 阅读(3656) 评论(0) 推荐(0) 编辑

C# 读取XML
摘要:访问的XML两种模型: 在程序中访问进而操作XML文件一般有两种模型,分别是使用DOM(文档对象模型)和流模型,使用DOM的好处在于它允许编辑和更新XML文档,可以随机访问文档中的数据,可以使用XPath查询,但是,DOM的缺点在于它需要一次性的加载整个文档到内存中,对于大型的文档,这会造成资源问题。流模型很好的解决了这个问题,因为它对XML文件的访问采用的是流的概念,也就是说,任何时候在内存中只... 阅读全文

posted @ 2007-05-31 16:08 mjgforever 阅读(843) 评论(1) 推荐(0) 编辑

SqlTransaction 类
摘要:表示要在 SQL Server 数据库中处理的 Transact-SQL 事务。 应用程序通过在 SqlConnection 对象上调用 BeginTransaction 来创建 SqlTransaction 对象。对 SqlTransaction 对象执行与该事务关联的所有后续操作(例如提交或中止该事务)。注意 在提交或回滚 SqlTransaction 时,应始终使用 Try/Catch 进行... 阅读全文

posted @ 2007-05-18 13:14 mjgforever 阅读(738) 评论(1) 推荐(0) 编辑

事件使用说明
摘要:当发生与某个对象相关的事件时,类和结构会使用事件将这一对象通知给用户。这种通知即称为“引发事件”。引发事件的对象称为事件的源或发送者。对象引发事件的原因很多:响应对象数据的更改、长时间运行的进程完成或服务中断。例如,一个对象在使用网络资源时如果丢失网络连接,则会引发一个事件。表示用户界面元素的对象通常会引发事件来响应用户操作,如按钮单击或菜单选择。声明事件 事件和方法一样具有签名,签名包括名称和... 阅读全文

posted @ 2007-05-17 11:37 mjgforever 阅读(305) 评论(0) 推荐(0) 编辑

侦听列表(ArrayList)的更改
摘要:using System;namespace MyCollections { using System.Collections; // 用于对更改通知进行挂钩的委托类型。 public delegate void ChangedEventHandler(object sender, EventArgs e); // 此处可以不使用ChangedEventHandler,而使用系统定义... 阅读全文

posted @ 2007-05-17 10:44 mjgforever 阅读(351) 评论(0) 推荐(0) 编辑

C# 事件
摘要:事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的。引发事件的对象称为事件发送方。捕获事件并对其作出响应的对象叫做事件接收方。 在事件通信中,事件发送方类不知道哪个对象或方法将接收到(处理)它引发的事件。所需要的是在源和接收方之间存在一个媒介(或类似指针的机制)。.NET Framework 定义了一个特殊的类型(Deleg... 阅读全文

posted @ 2007-05-16 14:19 mjgforever 阅读(395) 评论(0) 推荐(0) 编辑

ThreadPool,WaitCallback,QueueUserWorkItem
摘要:ThreadPool 类 提供一个线程池,该线程池可用于发送工作项、处理异步 I/O、代表其他线程等待以及处理计时器。 许多应用程序创建的线程都要在休眠状态中消耗大量时间,以等待事件发生。其他线程可能进入休眠状态,只被定期唤醒以轮询更改或更新状态信息。线程池通过为应用程序提供一个由系统管理的辅助线程池使您可以更为有效地使用线程。一个线程监视排到线程池的若干个等待操作的状态。当一个等待操作完成时,... 阅读全文

posted @ 2007-05-16 13:55 mjgforever 阅读(5167) 评论(0) 推荐(0) 编辑

ReaderWriterLock(定义支持单个写线程和多个读线程的锁),Mutex(一个同步基元,也可用于进程间同步。 )
摘要:ReaderWriterLock 用于同步对资源的访问。在任一特定时刻,它允许多个线程同时进行读访问,或者允许单个线程进行写访问。在资源不经常发生更改的情况下,ReaderWriterLock 所提供的吞吐量比简单的一次只允许一个线程的锁(如 Monitor)更高。在多数访问为读访问,而写访问频率较低、持续时间也比较短的情况下,ReaderWriterLock 的性能最好。多个读线程与单个写线程交... 阅读全文

posted @ 2007-05-16 11:03 mjgforever 阅读(1048) 评论(0) 推荐(0) 编辑

改变计时器的回调周期
摘要:using System;using System.Threading;class TimerExample{ static void Main() { AutoResetEvent autoEvent = new AutoResetEvent(false); StatusChecker statusChecker = new StatusChecker(1... 阅读全文

posted @ 2007-05-16 10:24 mjgforever 阅读(223) 评论(0) 推荐(0) 编辑

.NET多线程学习(2)
摘要:随着对多线程学习的深入,你可能觉得需要了解一些有关线程共享资源的问题. .NET framework提供了很多的类和数据类型来控制对共享资源的访问。考虑一种我们经常遇到的情况:有一些全局变量和共享的类变量,我们需要从不同的线程来更新它们,可以通过使用System.Threading.Interlocked类完成这样的任务,它提供了原子的,非模块化的整数更新操作。还有你可以使用System.Thre... 阅读全文

posted @ 2007-05-16 09:48 mjgforever 阅读(390) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示