博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#的一些必备技术
阅读量:4621 次
发布时间:2019-06-09

本文共 3287 字,大约阅读时间需要 10 分钟。

  一些C#中比较重要的技术的基本使用方法和条件...

  HashTable、Timer、Thread、WebService...

HashTable:

  hashtable,可用于存储键值对,基本使用如下:

1             //创建新的Hashtable对象 2             Hashtable ht = new Hashtable(); 3  4             //添加键值对 5             ht.Add('a', "add"); 6             ht.Add('b', "back"); 7             ht.Add('c', "call"); 8  9             //显示key值为‘c’对应的Value10             MessageBox.Show(ht['c'].ToString());11 12             //循环访问ht中的值13             foreach (DictionaryEntry de in ht)14             {15                 MessageBox.Show(de.Key.ToString() + " | " + de.Value.ToString());16             }

 

Timer:

  定时器,可以用于重复一定时间执行某一段代码,或是定时执行某一段代码:

1、WinForm中可以直接添加Timer控件,然后在它的事件中执行想要执行的代码:

属性配置:

事件函数:

1         private void timer1_Tick(object sender, EventArgs e)2         {3             //重复或定时执行的代码4         }

 

2、直接使用Timer类:

  命名空间:(除了这个命名空间,还有其他命名空间也含有Timer类的定义);

1         //设置调用时间 2         public void StartTimer(int dueTime) 3         { 4             //TimerProc为Timer的回调函数,当时间到时,会自动调用该函数 5             Timer t = new Timer(new TimerCallback(TimerProc));  6             //dueTime为间隔多少毫秒后调用TimerProc函数 7             t.Change(dueTime, 0); 8         } 9 10         private void TimerProc(object state)11         {12             // The state object is the Timer object.13             Timer t = (Timer)state;14             t.Dispose(); //释放资源15             Console.WriteLine("The timer callback executes.");16         }

此外,还可以设置Timer的许多属性,可以直接使用Timer对象设置。

   

Thread:

  线程,应用命名空间:

基本使用方法:

1           //定义一个线程对象td,ThreadCallBack为其调用函数2        Thread td = new Thread(ThreadCallBack);3           //启动线程4        td.Start();

ThreadCallBack函数定义:

1         //无参数,无返回值2         private void ThreadCallBack()3         {4             //执行代码5             MessageBox.Show("Threading...");6         }

 给线程传递数据:

  使用带ParameterizedThreadStart委托参数的构造函数;

  创建一个自定义类,把线程的方法定义为实例方法,这样就可以初始化实例的数据,之后启动线程。

 后台线程:

  使用Thread类时,设置IsBackground属性即可。

线程的优先级:

  使用Thread类时,设置Priority属性。

WebService:

  在C#的WinForm程序中添加ASP.NET Web服务。

1、创建一个一个ASP.NET Web服务

添加一个简单函数:

1         [WebMethod]2         public string SetStringAndGetString(string sStr)3         {4             return sStr;5         }

  可以运行测试一下,看是否正确。

2、在WinForm程序中添加服务引用,点击发现,选择服务,并将命名空间改为MyServiceReference(根据自己需要修改名称),确定。

3、调用:

  直接调用:

//MyServiceReference就是引用的命名空间,定义一个WebServiceSoapClient对象,然后用该对象调用自己定义的Web服务函数。 1        MyServiceReference.WebServiceSoapClient client = new MyServiceReference.WebServiceSoapClient();2        tbGetString.Text = client.SetStringAndGetString(tbSetString.Text.ToString());

  异步调用:

    选择服务引用MyServiceReference,打开关联菜单,选择Configure Service Reference,打开对话框,在Service Reference Setting对话框中选中Generate asynchronous operations复选框(选择异步调用)。

1         MyServiceReference.WebServiceSoapClient client = new MyServiceReference.WebServiceSoapClient();2         client.SetStringAndGetStringCompleted +=new EventHandler
(client_SetStringAndGetStringCompleted);3 client.SetStringAndGetStringAsync(tbSetString.Text);
1         //异步调用2         private void client_SetStringAndGetStringCompleted(object sender, MyServiceReference.SetStringAndGetStringCompletedEventArgs e)3         {4             tbGetString.Text = e.Result;5         }

将e.Result中的调用结果返回.

转载于:https://www.cnblogs.com/Longlycsu/archive/2012/08/22/2647220.html

你可能感兴趣的文章
Spring视频学习笔记(1)IoC容器
查看>>
如果一个div的宽度用百分比表示,怎样让这个div的高度=宽度
查看>>
解析PHP正则表达式修饰符
查看>>
python之mysqldb模块安装
查看>>
28 startActivityForResult和setResult详解
查看>>
调用Newtonsoft.Json 报FileNotFoundException 错误
查看>>
JS网页打印设置技巧
查看>>
ActiveMQ 配置
查看>>
python-openpyxl操作excel
查看>>
ES6的新特性(6)——正则的扩展
查看>>
全文检索基本原理
查看>>
数组中轴
查看>>
非常实用的使用eclipse的快捷键和技巧
查看>>
AppServ的使用
查看>>
Windows Forms编程实战笔记(一至四章)
查看>>
Android - MyFragment.java
查看>>
第三节 需要异常
查看>>
Git使用2:Git撤销操作
查看>>
使用rosed编辑ROS中的文件
查看>>
Linux makefile 教程
查看>>