using的几种用法 C#

  1. using System;   //using 引用命名空间  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4. using System.IO;  
  5. using System.Data;  
  6. using System.Data.SqlClient;  
  7. using System.Xml;  
  8. using Excel = Microsoft.Office.Interop.Excel; //using 创建别名  
  9.   
  10. namespace statement  
  11. {  
  12.     //指定Font类的别名为F  
  13.     using F = System.Drawing.Font;  
  14.   
  15.     class Program  
  16.     {  
  17.         static void Main(string[] args)  
  18.         {  
  19.             //using 强制资源清理  
  20.             using (TextWriter writer = File.CreateText(@"E:\test.txt"))  
  21.             {  
  22.                 //使用别名来实例化对象  
  23.                 F font = new F("宋体", 12);  
  24.                 writer.WriteLine(font.Name.ToString() + font.Size.ToString());  
  25.             }  
  26.   
  27.   
  28.             //上面的using语句等价于  
  29.             TextWriter w = File.CreateText(@"E:\test.txt");  
  30.             try  
  31.             {  
  32.                 F font = new F("宋体", 12);  
  33.                 w.WriteLine(font.Name.ToString() + font.Size.ToString());  
  34.             }  
  35.             finally  
  36.             {  
  37.                 if (w != null) w.Dispose();  
  38.             }  
  39.   
  40.   
  41.             //也可以在using之前声明对象  
  42.             TextReader r = File.OpenText("E://test.txt");  
  43.             using (r)  
  44.             {  
  45.                 Console.WriteLine(r.ReadToEnd());  
  46.             }  
  47.   
  48.   
  49.             //对象类型相同时,可以使用多个:  
  50.             using (StreamReader reader = new StreamReader("1.txt"), reader2 = new StreamReader("2.txt"))  
  51.             {  
  52.                 //do something  
  53.             }  
  54.   
  55.   
  56.             //嵌套using  
  57.             using (SqlConnection conn = new SqlConnection())  
  58.             {  
  59.                 using (SqlCommand cmd = new SqlCommand())  
  60.                 {  
  61.                     //嵌套using 缩进太多,从而不便于观察代码,可以用,但适可而止,如果有多层嵌套请使用 多重using  
  62.                     //这一层如果出错,不会影响上一层conn的释放,也就是说可以这么用  
  63.                 }  
  64.             }  
  65.   
  66.   
  67.             //多重using  
  68.             using (StreamReader reader = new StreamReader("1.txt"))  
  69.             using (StreamWriter writer = new StreamWriter("1.txt"))  
  70.             using (SqlConnection conn = new SqlConnection())  
  71.             using (SqlCommand cmd = new SqlCommand())  
  72.             {  
  73.                 //这样操作也可以最后释放所有资源,并且不会因嵌套using而产生太多缩进  
  74.                 //通过reflector观察发现系统最后会生成跟嵌套using相同的代码  
  75.             }  
  76.   
  77.   
  78.         }  
  79.     }  
  80. }  
  81.   
  82. //总结起来如下:  
  83. //1.引入命名空间  
  84. //2.创建别名  
  85. //3.强制资源清理  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# 中,你可以使用以下几种方法来实现定时器功能: 1. System.Timers.Timer:这是一个基于线程的定时器,可以在指定的时间间隔内重复执行指定的代码。你可以设置 Interval 属性来指定时间间隔,并通过 Elapsed 事件来处理计时器事件。 ```csharp using System; using System.Timers; public class TimerExample { private static Timer timer; public static void Main() { timer = new Timer(); timer.Interval = 1000; // 设置时间间隔为1秒 timer.Elapsed += TimerElapsed; // 绑定事件处理程序 timer.Enabled = true; // 启动计时器 Console.WriteLine("Press Enter to stop the timer."); Console.ReadLine(); timer.Enabled = false; // 停止计时器 } private static void TimerElapsed(object sender, ElapsedEventArgs e) { Console.WriteLine("Timer elapsed at {0}", e.SignalTime); } } ``` 2. System.Threading.Timer:这是一个基于线程池的定时器,也可以在指定的时间间隔内重复执行指定的代码。你可以使用 Change 方法来设置时间间隔,并通过 TimerCallback 委托来处理计时器事件。 ```csharp using System; using System.Threading; public class TimerExample { private static Timer timer; public static void Main() { TimerCallback callback = new TimerCallback(TimerElapsed); timer = new Timer(callback, null, 0, 1000); // 设置时间间隔为1秒 Console.WriteLine("Press Enter to stop the timer."); Console.ReadLine(); timer.Dispose(); // 停止计时器 } private static void TimerElapsed(object state) { Console.WriteLine("Timer elapsed at {0}", DateTime.Now); } } ``` 3. System.Threading.Tasks.Task.Delay:这是一种基于异步任务的延迟执行方法,可以在指定的时间间隔后执行指定的代码。 ```csharp using System; using System.Threading.Tasks; public class TimerExample { public static async Task Main() { Console.WriteLine("Press Enter to start the timer."); Console.ReadLine(); while (true) { Console.WriteLine("Timer elapsed at {0}", DateTime.Now); await Task.Delay(1000); // 设置时间间隔为1秒 } } } ``` 这些是在 C# 中实现定时器功能的几种常用方法。你可以根据自己的需求选择适合的方法来实现定时器功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值