欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#中三種using關(guān)鍵字用法與示例

admin
2024年5月17日 15:35 本文熱度 1016

前言

關(guān)鍵字是編程語言預(yù)定的保留標(biāo)識符,對編譯器有特殊意義。C#語言中的關(guān)鍵字有很多,用法各異。在我們的.cs源文件中,通常第一行都是以using這個關(guān)鍵字開始。本文就來介紹using的幾個用法。
using System;namespace Fountain.WinConsole.Demo{}

用法

using用法通常將其分為引入命名空間、引用命名空間使用別名和定義作用域。前二種稱using指令,而第三種稱為using語句。

using 指令

使用using指令引用命名空間,在使用命名空間中定義的類型時無需指定該類型的全名。使用using指令可添加 global.NET 6 引入static.NET Framework 4.6  引入兩個修飾符進(jìn)行修飾。
global using:將應(yīng)用于一個項目所有文件。
static using :訪問類的靜態(tài)成員和嵌套類型,無需類名稱。

引入命名空間

1、using <命名空間的完整名稱>

// 三方庫引用using MimeKit;// .NET 庫引用using System;// 自建庫引用using Fountain.Utility

2、global using <命名空間的完整名稱>

// GlobalUsing.cs// .NET 庫引用global using System;global using System.Collections.Generic;global using System.Linq;global using System.Text;// 三方日志庫引用global using log4net;// 自建庫引用using Fountain.Utility
注意:.NET 6引入的新特性

3、using static <命名空間的完整名稱>

using static System.Console;using static System.Math;
注意:.NET Framework 4.6引入的新特性

4、global using static <命名空間的完整名稱>

// GlobalUsing.cs// .NET 庫引用global using System;global using static System.Console;global using static System.Math;// 三方日志庫引用global using log4net;// 自建庫引用using Fountain.Utility

命名空間使用別名

[global] using [static] <別名>=<命名空間的完整名稱>

// 自建庫引用using Fountain=Fountain.Utility;// .NET庫定義別名using SText = System.Text;
 定義使用別名,1、利于用自己熟悉的名稱;2、不同空間相同類型名,便于方法的簡潔使用。

using 語句

用于定義作用域,在作用域末尾將會釋放對象,類必須實現(xiàn)IDisposable接口。如果使用的類未實現(xiàn)IDisposable接口,則無法使用using語句。因為這種釋放通常是通過調(diào)用對象的Dispose方法實現(xiàn)。

定義作用域

using (SmtpClient smtpClient = new SmtpClient()){    // 設(shè)置smtp的服務(wù)地址    smtpClient.Host = "smtp.qq.com";    //設(shè)置郵箱使用的端口,這里以QQ郵箱為例    smtpClient.Port = 587;    // 是否使用SSL    smtpClient.EnableSsl = true;    // 設(shè)置是否使用默認(rèn)憑據(jù)    smtpClient.UseDefaultCredentials = true;    // userName-郵箱名稱;password-根據(jù)服務(wù)提供商不同而定如QQ郵箱、163 都是使用授權(quán)碼    // 授權(quán)碼獲取登錄網(wǎng)頁版的郵箱配置獲取    smtpClient.Credentials = new System.Net.NetworkCredential("testemail@qq.com", "******");    // 發(fā)出郵件的方法    smtpClient.DeliveryMethod = NMial.SmtpDeliveryMethod.Network;    // 郵件消息實例    NMial.MailMessage messageContent = new NMial.MailMessage();    // 發(fā)送    smtpClient.Send(messageContent);}

示例

下面通過C#實現(xiàn)發(fā)送郵件為例:
using MailKit.Net.Smtp;using MailKit.Security;using MimeKit;using System;// MailKit.Net.Smtp 與 System.Net.Mail 有相同的類,所以使用定義別名using NetMial=System.Net.Mail;using System.Net.Mime;using System.Text;using static System.Console;
namespace Fountain.WinConsole.SendMailDemo{    internal class Program    {        static void Main(string[] args)        {            try            {                // 使用了using 定義作用域                using (NetMial.SmtpClient smtpClient = new NetMial.SmtpClient())                // 如果未使用using定義別名入用,則需使用這種寫法                //using (System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient())                {                    // 設(shè)置smtp的服務(wù)地址                    smtpClient.Host = "smtp.qq.com";                    //設(shè)置郵箱使用的端口,這里以QQ郵箱為例                    smtpClient.Port = 587;                    // 是否使用SSL                    smtpClient.EnableSsl = true;                    // 設(shè)置是否使用默認(rèn)憑據(jù)                    smtpClient.UseDefaultCredentials = true;                    // userName-郵箱名稱;password-根據(jù)服務(wù)提供商不同而定如QQ郵箱、163 都是使用授權(quán)碼                    // 授權(quán)碼獲取登錄網(wǎng)頁版的郵箱配置獲取                    smtpClient.Credentials = new System.Net.NetworkCredential("testemail@qq.com", "******");                    // 發(fā)出郵件的方法                    smtpClient.DeliveryMethod = NetMial.SmtpDeliveryMethod.Network;                    // 郵件消息實例                    NetMial.MailMessage messageContent = new NetMial.MailMessage();                    // 添加郵件接收地址,可以添加多個接收郵箱地址                    messageContent.To.Add("testemail@163.com");                    //設(shè)置發(fā)件人地址,發(fā)件人姓名,以及編碼                    messageContent.From = new NetMial.MailAddress("testemail@qq.com", "Test", Encoding.UTF8);                    messageContent.Subject = "test";                    // 郵件標(biāo)題編碼                    messageContent.SubjectEncoding = System.Text.Encoding.UTF8;                    // 郵件內(nèi)容                    messageContent.Body = "測試";                    // 郵件內(nèi)容的編碼                    messageContent.BodyEncoding = System.Text.Encoding.UTF8;                    // 設(shè)置郵件是否為HTML郵件                    messageContent.IsBodyHtml = false;                    // 設(shè)置郵件優(yōu)先級                    messageContent.Priority = NetMial.MailPriority.Normal;                    // 發(fā)送                    smtpClient.Send(messageContent);                }                // 由于使用了using static System.Console 可不用在靜態(tài)成員前加Console,                WriteLine("發(fā)送成功");                // 由于使用了using static System.Console 可不用在靜態(tài)成員前加Console,                ReadLine();            }            catch (Exception exception)            {                // 由于使用了using static System.Console 可不用在靜態(tài)成員前加Console,                WriteLine(exception.Message);            }        }    }}

小結(jié)

以上是對關(guān)鍵字using幾種用法介紹,希望能加深大家對using的認(rèn)識。


該文章在 2024/5/17 15:35:16 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved