C#.NET边学边用(二)

1、Try-catch-finally(C#参考)
      Catch和finally一起使用的常见方式是:在try块中获取并使用资源,在catch块中处理异常情况,并在finally块中释放资源。Finally块总是执行,无论是否有异常发生。对于异常,可以使用Throw语句显式引发异常,还可以使用Throw语句再次引发捕捉的异常,好的编码做法是向再次引发的异常添加自己定义的信息。
      举例:

 1  using  System;
 2  using  System.IO;
 3  public   class  ProcessFile
 4  {
 5      public   static   void  Main()
 6     {
 7        FileStream fs  =   null ;
 8         try
 9         // Opens a text tile.
10        {
11           fs  =   new  FileStream( " data.txt " ,FileMode.Open);
12           StreamReader sr  =   new  StreamReade(fs);
13            string  line;
14            // 从data.txt文件中读出一行内容保存string变量line中
15            line  =  sr.ReadLine();
16        // 将line在控制台输出
17            Console.WriteLine(line);
18         }
19          catch (FileNotFoundException e) // 捕捉找不到数据文件的异常
20          {
21       // 向控制台写入消息
22           Console.WriteLine( " [Data File Missing] {0} " , e);
23       // 引发新的FileNotFoundException并向异常添加文本信息
24           throw   new  FileNotFoundException( " [data.txt not in c:\\dev directory] " ,e);
25         }
26          finally
27         {
28            fs.Close();
29         }
30      }
31  }

2、Console.Write与Console.WriteLine有什么区别?
       Write()和WriteLine()都是System.Console提供的方法,两着主要用来将输出流由指定的输出装置(默认为屏幕)显示出来.两着间的差异在Console.WriteLine()方法是将要输出的字符串与换行控制字符一起输出,当次语句执行完毕时,光标会移到目前输出字符串的下一行.至于Console.Write()方法,光标会停在输出字符串的最后一个字符后,不会移动到下一行。

3、Console.WriteLine与Response.Write有什么区别?
      Console.WriteLine 是在控制台中换行输出
      Response.Write是向页面上写东西
      控制台程序就是ConsoleApplication,最后在window黑窗口输出的...
      新建->项目->控制台应用程序(or ConsoleApplication)

4、使用DataReader读取数据(DataReader包括SqlDataReader和OleDbDataReader,下面以SqlDataReader为例说明)
       SqlDataReader支持快速前向的只读访问,不能被用于写入数据。你能够以只向前的顺序方式读取SqlDataReader中的数据,对于已经读取的数据,你将不能返回并再读取它,必须采取保存的方法保存读取的数据供第二次使用。
       创建SqlDataReader对象于实例华其他ADO.NET对象稍微不同。你必须对一个Command对象调用ExecuteReader方法来实例化SqlDataReader对象。例:         
SqlDataReader rdr  =  cmd.ExecuteReader();

       SqlDataReader索引器返回哦bject类型,在使用这个数据之前必须将其转换成合适的变量类型。一个典型的循环读取例子:
while(rdr.read())
{
       string contact = (string) rdr ["ContactName"];
       int number = (int) rdr ["Number"]
}

       由于SqlDataReader使用一个激活的联机,应该尽快使用,然后使用close方法关闭。

转载于:https://www.cnblogs.com/cheerwen2005/archive/2006/12/04/581048.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值