C#中“使用”的用途是什么?

C#中“使用”的用途是什么?

用户科科斯奇妙的回答C#的隐藏特征问题通过提及using关键词。你能详细说明一下吗?.的用途是什么?using?


冉冉说
浏览 590回答 3
3回答

温温酱

原因是using语句确保对象在超出作用域时立即被释放,并且它不需要显式代码来确保这种情况的发生。如理解C#中的“使用”语句,.NET CLR转换using (MyResource myRes = new MyResource()){     myRes.DoSomething();}到{ // Limits scope of myRes     MyResource myRes= new MyResource();     try     {         myRes.DoSomething();     }     finally     {         // Check for a null resource.         if (myRes != null)             // Call the object's Dispose method.             ((IDisposable)myRes).Dispose();     }}

一只斗牛犬

因为很多人仍然这样做:using (System.IO.StreamReader r = new System.IO.StreamReader(""))using (System.IO.StreamReader r2 = new System.IO.StreamReader("")) {    //code}我想很多人还是不知道你能做什么:using (System.IO.StreamReader r = new System.IO.StreamReader(""), r2 = new System.IO.StreamReader("")) {    //code}

森栏

像这样的事情:using (var conn = new SqlConnection("connection string")){    conn.Open();     // Execute SQL statement here on the connection you created}这,这个SqlConnection将被关闭,而不需要显式调用.Close()函数,就会发生这种情况。即使抛出异常,不需要try/catch/finally.
打开App,查看更多内容
随时随地看视频慕课网APP