C#编程
文章平均质量分 76
sillywxj
QQ:42860275
PB12.NETQQ群:119231276
展开
-
使用ADO.NET数据库编程的基本步骤
使用ADO.NET数据库编程的基本步骤:1、创建连接字符串:string connectionString="server=.;uid=sa;pwd=;database=northwind";2、创建select语句字符串:string commandString="select CompanyName,ContactName from Customers";3、创建DataAdapter并传入连原创 2004-12-19 21:07:00 · 3465 阅读 · 0 评论 -
多线程编程学习笔记(六)
多线程编程学习笔记(六)线程局部存储(TLS)存放局部存储步骤:1、申请数据槽LocalDataStoreSlot slot = Thread.GetNamedDataSlot("para");如果不存在名为para的数据槽,将分配一个所有线程均可用的para数据槽2、往数据槽存放数据MyPara para = new MyPara();para.I = i;Thread.SetData(slo原创 2005-09-20 22:36:00 · 1614 阅读 · 0 评论 -
多线程编程学习笔记(五)
多线程编程学习笔记(五)处理周期事件1、System.WinForms.TimerTimer的Tick事件代码:Interlocked.Increment(ref _count);2、ThreadPoolA.生成WaitOrTimerCallback事例B.生成一个同步对象C.添加到线程池例1:/*RegisterWaitForSingleObject下面的示例演示了几种线程处理功能。 使用 Re原创 2005-09-03 21:21:00 · 3240 阅读 · 0 评论 -
多线程编程学习笔记(四)
多线程编程学习笔记(四)同步实现同步的3种方法:1、Thread.Join()2、WaitHandle //使用自动事件 AutoResetEvent asyncOpIsDone = new AutoResetEvent(false); ThreadPool.QueueUserWorkItem(new WaitCallback(MyAsyncOperation),asyncOpI原创 2005-08-30 20:10:00 · 1463 阅读 · 0 评论 -
多线程编程学习笔记(三)
多线程编程笔记(三)互斥1、Monitor.Enter和Monitor.ExitMonitor 类通过向单个线程授予对象锁来控制对对象的访问。对象锁提供限制访问代码块(通常称为临界区)的能力。当一个线程拥有对象的锁时,其他任何线程都不能获取该锁。还可以使用 Monitor 来确保不会允许其他任何线程访问正在由锁的所有者执行的应用程序代码节,除非另一个线程正在使用其他的锁定对象执行该代码。注意:使用原创 2005-08-22 21:45:00 · 4071 阅读 · 1 评论 -
动态创建程序集
using System;using System.Reflection;using System.Threading;using System.Reflection.Emit;namespace TestDriver{ public interface ISayHello { int SayHello(); } public class ReflectionTest { private As原创 2005-04-12 16:51:00 · 1554 阅读 · 0 评论 -
多线程编程学习笔记(二)
多线程编程笔记(二)线程池用线程池编写多线程应用一般步骤:1、编写工作任务:将所有的工作任务泛放在一个符合WaitCallback接口的函数中 public static void MyAsyncOperation(object state) { //... //要完成的工作任务 } 一般通过state传入一个同步对象2、往线程池中添加工作项 ThreadPool.QueueUse原创 2005-08-14 22:33:00 · 2172 阅读 · 0 评论 -
多线程编程学习笔记(一)
多线程编程笔记(一)操作线程1、操作实例using System;using System.Threading;namespace AppThreadDemo{ class App { static public void threadMethod() { Console.WriteLine("/n执行ThreadMethod的线程的代码为:{0}",Thread.CurrentThre原创 2005-08-13 21:59:00 · 2191 阅读 · 0 评论 -
应用域创建对象
应用域创建对象一般步骤:1、创建应用域,若需要应用域属性,则可通过SetData来设置。 AppDomain child = AppDomain.CreateDomain("childDomain"); child.SetData("PRIVATE_BINPATH","mybin");2、在应用域中创建对象。 ObjectHandle oh = (ObjectHandle) child.Creat原创 2005-08-02 22:04:00 · 1588 阅读 · 0 评论 -
反射
反射通常用于以下四种任务中:1、浏览元数据//使用反射 public class Tester { public static void Main() { MyMath mm=new MyMath(); Console.WriteLine("Calling DoFunc1(7). Result:{0}",mm.DoFunc1(7)); System.Reflection.Memb原创 2005-01-14 19:41:00 · 1275 阅读 · 0 评论 -
自定义属性信息
namespace Programming_CShar{ using System; using System.Reflection; //声明属性 //第一个参数是一组表示目标的标志 //第二个参数表示元数是否可以接受一个以上的该属性信息 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Constructor | Att原创 2005-01-14 18:09:00 · 1217 阅读 · 0 评论 -
将多个数据表结合起来
private System.Data.SqlClient.SqlConnection myConnection; private System.Data.SqlClient.SqlCommand myCommand; private System.Data.SqlClient.SqlCommand myCommand2; private System.Data.DataSe原创 2004-12-23 22:33:00 · 1098 阅读 · 0 评论 -
定制DataSet
private System.Data.SqlClient.SqlConnection myConnection; private System.Data.SqlClient.SqlCommand myCommand; private System.Data.DataSet myDataSet; private System.Data.SqlClie原创 2004-12-23 13:27:00 · 1232 阅读 · 0 评论 -
将系统上的所有目录填充到树视图中
/// /// 填充目录文件到树视图 /// 1.获取系统上的所有逻辑驱动器 /// 2.在每个逻辑驱动器上获取驱动器顶级目录列表,并遍历子目录 ///注:本程序参考《C#程序设计》 /// /// /// private void FillDirectoryTree(TreeView tvw,bool isSource) { tvw.Nodes.Clear();原创 2004-12-16 20:36:00 · 1267 阅读 · 0 评论 -
多线程编程学习笔记(七)
线程静态成员(ThreadStatic)特点:1、不能被2个不同的线程共享线程静态成员隶属于特定的线程。同一个静态成员针对不同的线程有不同的实例。2、只在第1个生成其实例的线程中初始化线程静态成员的初始化隶属于第1个线程的线程静态成员将根据类声明中指定的初始化函数生成特定的实例,而隶属于第1个以后的线程的静态成员将按照默认情况初始化。在不指定初始值的情况下,如果它是值类型,可依赖初始化为其默认值的原创 2005-10-08 23:20:00 · 1586 阅读 · 0 评论