LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#中三种using关键字用法与示例

admin
2024年5月17日 15:35 本文热度 836

前言

关键字是编程语言预定的保留标识符,对编译器有特殊意义。C#语言中的关键字有很多,用法各异。在我们的.cs源文件中,通常第一行都是以using这个关键字开始。本文就来介绍using的几个用法。
using System;namespace Fountain.WinConsole.Demo{}

用法

using用法通常将其分为引入命名空间、引用命名空间使用别名和定义作用域。前二种称using指令,而第三种称为using语句。

using 指令

使用using指令引用命名空间,在使用命名空间中定义的类型时无需指定该类型的全名。使用using指令可添加 global.NET 6 引入static.NET Framework 4.6  引入两个修饰符进行修饰。
global using:将应用于一个项目所有文件。
static using :访问类的静态成员和嵌套类型,无需类名称。

引入命名空间

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 语句

用于定义作用域,在作用域末尾将会释放对象,类必须实现IDisposable接口。如果使用的类未实现IDisposable接口,则无法使用using语句。因为这种释放通常是通过调用对象的Dispose方法实现。

定义作用域

using (SmtpClient smtpClient = new SmtpClient()){    // 设置smtp的服务地址    smtpClient.Host = "smtp.qq.com";    //设置邮箱使用的端口,这里以QQ邮箱为例    smtpClient.Port = 587;    // 是否使用SSL    smtpClient.EnableSsl = true;    // 设置是否使用默认凭据    smtpClient.UseDefaultCredentials = true;    // userName-邮箱名称;password-根据服务提供商不同而定如QQ邮箱、163 都是使用授权码    // 授权码获取登录网页版的邮箱配置获取    smtpClient.Credentials = new System.Net.NetworkCredential("testemail@qq.com", "******");    // 发出邮件的方法    smtpClient.DeliveryMethod = NMial.SmtpDeliveryMethod.Network;    // 邮件消息实例    NMial.MailMessage messageContent = new NMial.MailMessage();    // 发送    smtpClient.Send(messageContent);}

示例

下面通过C#实现发送邮件为例:
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())                {                    // 设置smtp的服务地址                    smtpClient.Host = "smtp.qq.com";                    //设置邮箱使用的端口,这里以QQ邮箱为例                    smtpClient.Port = 587;                    // 是否使用SSL                    smtpClient.EnableSsl = true;                    // 设置是否使用默认凭据                    smtpClient.UseDefaultCredentials = true;                    // userName-邮箱名称;password-根据服务提供商不同而定如QQ邮箱、163 都是使用授权码                    // 授权码获取登录网页版的邮箱配置获取                    smtpClient.Credentials = new System.Net.NetworkCredential("testemail@qq.com", "******");                    // 发出邮件的方法                    smtpClient.DeliveryMethod = NetMial.SmtpDeliveryMethod.Network;                    // 邮件消息实例                    NetMial.MailMessage messageContent = new NetMial.MailMessage();                    // 添加邮件接收地址,可以添加多个接收邮箱地址                    messageContent.To.Add("testemail@163.com");                    //设置发件人地址,发件人姓名,以及编码                    messageContent.From = new NetMial.MailAddress("testemail@qq.com", "Test", Encoding.UTF8);                    messageContent.Subject = "test";                    // 邮件标题编码                    messageContent.SubjectEncoding = System.Text.Encoding.UTF8;                    // 邮件内容                    messageContent.Body = "测试";                    // 邮件内容的编码                    messageContent.BodyEncoding = System.Text.Encoding.UTF8;                    // 设置邮件是否为HTML邮件                    messageContent.IsBodyHtml = false;                    // 设置邮件优先级                    messageContent.Priority = NetMial.MailPriority.Normal;                    // 发送                    smtpClient.Send(messageContent);                }                // 由于使用了using static System.Console 可不用在静态成员前加Console,                WriteLine("发送成功");                // 由于使用了using static System.Console 可不用在静态成员前加Console,                ReadLine();            }            catch (Exception exception)            {                // 由于使用了using static System.Console 可不用在静态成员前加Console,                WriteLine(exception.Message);            }        }    }}

小结

以上是对关键字using几种用法介绍,希望能加深大家对using的认识。


该文章在 2024/5/17 15:35:16 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved