最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# using語法糖圖文詳解

 更新時間:2021年01月15日 15:14:36   作者:斯 欽  
這篇文章主要給大家介紹了關(guān)于C# using語法糖的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

什么是語法糖?

(語法糖就是像糖一樣的語法…)

語法糖(Syntactic sugar),又名糖衣語法,最早是由英國計算機科學(xué)家彼得·約翰·蘭達(Peter J. Landin)發(fā)明的。

通俗點來講就是簡化后的語法,但是其效果和原先語法是一樣的,只是更方便我們程序員使用而已。

舉個日常生活中簡單的例子,使用語法糖之前你想表達今天天氣很熱:“今天氣溫好熱??!”,用了語法糖后:“天熱!”,
但是效果是一樣的,都能夠給別人傳達今天天氣很熱的信息。

很多語言都有語法糖,C#也不例外。

using語法糖就是C#很多種語法糖中的一種。

using語法糖的格式相當于:

try { 代碼片1; } finally { 代碼片2; }

正常情況下,在代碼片1的地方我們會執(zhí)行一些邏輯代碼,在代碼片2的地方我們會相應(yīng)的釋放掉代碼片1中對象的資源。

所以我們一般會在操作文件、數(shù)據(jù)庫等的時候用到using語法糖!

所以所以在對象不能夠被釋放資源的情況下是不能使用using語法糖的?。?/p>

那你怎么能知道所使用的對象能不能釋放資源?

輸入 對象名. 之后,會自動彈出一些提示的方法,如果有Dispose方法,那么就可以進行相應(yīng)的釋放。

我們創(chuàng)建一個類讓它繼承IDisposable接口(這個類就是正常情況下我們操作文件、數(shù)據(jù)庫等使用的類,在這里我沒有使用那些類,所以就新建一個類繼承一下IDisposable接口,模擬那些類的使用),在使用之后我們相應(yīng)的釋放這個類的資源。

代碼展示:

using System;
using System.IO;

namespace Syntactic_sugar
{
 class Program
 {
  static void Main(string[] args)
  {
   Console.WriteLine("正在運行代碼1...");
   func myfunc = new func();
   try
   {
    Console.WriteLine("正在運行代碼2...");
   }
   finally
   {
    myfunc.Dispose();
   }
   Console.WriteLine("正在運行代碼3...");
  }
 }

 public class func : IDisposable
 {
  public void Dispose()
  {
   Console.WriteLine("釋放資源");
  }
 }
}

效果展示:

我們使用using語法糖之后。

代碼展示:

using System;
using System.IO;

namespace Syntactic_sugar
{
 class Program
 {
  static void Main(string[] args)
  {
   Console.WriteLine("正在運行代碼1...");
   using (var myfunc = new func())
   {
    Console.WriteLine("正在運行代碼2...");
   }
   Console.WriteLine("正在運行代碼3...");
  }
 }

 public class func : IDisposable
 {
  public void Dispose()
  {
   Console.WriteLine("釋放資源");
  }
 }
}

效果展示:

效果是一樣的。

總結(jié)

到此這篇關(guān)于C# using語法糖的文章就介紹到這了,更多相關(guān)C# using語法糖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#中類成員的定義的修飾關(guān)鍵詞知識點總結(jié)

    C#中類成員的定義的修飾關(guān)鍵詞知識點總結(jié)

    在本篇文章里小編給大家整理了關(guān)于C#中類成員的定義的修飾關(guān)鍵詞知識點內(nèi)容,有需要的朋友們可以參考下。
    2020-02-02
  • WPF實現(xiàn)頁面的切換的示例代碼

    WPF實現(xiàn)頁面的切換的示例代碼

    本文主要介紹了WPF實現(xiàn)頁面的切換的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • C#開啟線程的四種示例

    C#開啟線程的四種示例

    這篇文章主要介紹了C#開啟線程的四種方法,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-10-10
  • C#WinForm實現(xiàn)多語言切換的示例

    C#WinForm實現(xiàn)多語言切換的示例

    本文主要介紹了C#WinForm實現(xiàn)多語言切換的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • C#實現(xiàn)二叉查找樹

    C#實現(xiàn)二叉查找樹

    本文詳細講解了C#實現(xiàn)二叉查找樹的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#集合之列表的用法

    C#集合之列表的用法

    這篇文章介紹了C#集合之列表的用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • 詳解C#編程中異常的創(chuàng)建和引發(fā)以及異常處理

    詳解C#編程中異常的創(chuàng)建和引發(fā)以及異常處理

    這篇文章主要介紹了C#編程中異常的創(chuàng)建和引發(fā)以及異常處理,文中介紹了Catch塊和Finally塊等基本的異常處理要點,需要的朋友可以參考下
    2016-02-02
  • C# 9.0新特性——擴展方法GetEnumerator支持foreach循環(huán)

    C# 9.0新特性——擴展方法GetEnumerator支持foreach循環(huán)

    這篇文章主要介紹了C# 9.0新特性——擴展方法GetEnumerator支持foreach循環(huán)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c# 9.0,感興趣的朋友可以了解下
    2020-11-11
  • C#中串口讀取問題及解決方案

    C#中串口讀取問題及解決方案

    在現(xiàn)代計算機系統(tǒng)中,串口通信仍然是許多設(shè)備和應(yīng)用程序之間進行數(shù)據(jù)交換的重要方式,無論是在工業(yè)自動化、嵌入式系統(tǒng),還是在日常的硬件調(diào)試中,串口都扮演著不可或缺的角色,本文旨在深入探討C#中串口讀取問題的常見原因,并提供一系列有效的解決方案,需要的朋友可以參考下
    2024-12-12
  • Unity3d實現(xiàn)跑馬燈廣播效果

    Unity3d實現(xiàn)跑馬燈廣播效果

    這篇文章主要為大家詳細介紹了Unity3d實現(xiàn)跑馬燈廣播效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論

临朐县| 石城县| 柞水县| 霍州市| 河北区| 平和县| 稻城县| 灌南县| 百色市| 荆州市| 长葛市| 六盘水市| 云南省| 进贤县| 兴安盟| 嘉荫县| 怀宁县| 山丹县| 龙山县| 滦平县| 郸城县| 车险| 宁河县| 昭觉县| 开平市| 白玉县| 蓬莱市| 彭水| 道真| 长宁县| 榆社县| 河南省| 崇义县| 堆龙德庆县| 自治县| 壶关县| 安顺市| 襄樊市| 承德市| 治多县| 通许县|