C# 标识符命名规则和约定

这篇具有很好参考价值的文章主要介绍了C# 标识符命名规则和约定。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

命名规则

命名约定

C# 编码约定

命名约定

帕斯卡拼写法

驼峰式大小写

如何使用模式匹配以及 is 和 as 运算符安全地进行强制转换


标识符是分配给类型(类、接口、结构、记录、委托或枚举)、成员、变量或命名空间的名称。

命名规则

有效标识符必须遵循以下规则:

  • 标识符必须以字母或下划线 (_) 开头。
  • 标识符可以包含 Unicode 字母字符、十进制数字字符、Unicode 连接字符、Unicode 组合字符或 Unicode 格式字符。 有关 Unicode 类别的详细信息,请参阅 Unicode 类别数据库。 可以在标识符上使用 @ 前缀来声明与 C# 关键字匹配的标识符。 @ 不是标识符名称的一部分。 例如,@if 声明名为 if 的标识符。 这些逐字标识符主要用于与使用其他语言声明的标识符的互操作性。

有关有效标识符的完整定义,请参阅 C# 语言规范中的标识符主题

命名约定

除了规则之外,在 .NET API 中还使用了许多标识符命名约定。 按照约定,C# 程序对类型名称、命名空间和所有公共成员使用 PascalCase。 此外,以下约定也很常见:

  • 接口名称以大写字母 I 开头。
  • 属性类型以单词 Attribute 结尾。
  • 枚举类型对非标记使用单数名词,对标记使用复数名词。
  • 标识符不应包含两个连续的下划线 (_) 字符。 这些名称保留给编译器生成的标识符。

C# 编码约定

编码约定可实现以下目的:

  • 它们为代码创建一致的外观,以确保读取器专注于内容而非布局。
  • 它们使得读取器可以通过基于之前的经验进行的假设更快地理解代码。
  • 它们便于复制、更改和维护代码。
  • 它们展示 C# 最佳做法。

命名约定

编写 C# 代码时需要考虑几个命名约定。

帕斯卡拼写法

命名 classrecord 或 struct 时,使用 pascal 大小写(“PascalCasing”)。

驼峰式大小写

命名 private 或 internal 字段时,使用驼峰式大小写(“camelCasing”),并且它们以 _ 作为前缀。

如何使用模式匹配以及 is 和 as 运算符安全地进行强制转换

由于是多态对象,基类类型的变量可以保存派生类型。 要访问派生类型的实例成员,必须将值强制转换回派生类型。 但是,强制转换会引发 InvalidCastException 风险。 C# 提供模式匹配语句,该语句只有在成功时才会有条件地执行强制转换。 C# 还提供 is 和 as 运算符来测试值是否属于特定类型。文章来源地址https://www.toymoban.com/news/detail-522347.html

到了这里,关于C# 标识符命名规则和约定的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Go,从命名开始!Go的关键字和标识符全列表手册和代码示例!

    关注TechLeadCloud,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。 (Keywords)是编程

    2024年02月10日
    浏览(58)
  • c# 此程序集中已使用了资源标识符

    严重性    代码    说明    项目    文件    行    禁止显示状态 错误    CS1508    此程序集中已使用了资源标识符“BMap.NET.WindowsForm.BMapControl.resources”    BMap.NET.WindowsForm    D:MySourceDecompileBMap.NET.WindowsFormCSC    1    活动   运行程序时,提示有错误:此程序

    2024年02月15日
    浏览(50)
  • HarmonyOS学习路之开发篇—设备管理(设备标识符)

    定义 网络设备节点通信标识符,是分布式软总线提供的一种非永久性标识符。NetworkID基于Java原生的UUID接口随机生成,长度为32字节,使用十六进制表示。主要用于业务调用分布式能力时,标识分布式网络内的设备节点。 NetworkID 举例: 6B97BC8F6F85A2A1A6E0E262111F42D6A8541CBFF6CAF688F

    2024年02月13日
    浏览(62)
  • 【Go 基础篇】Go语言关键字和预定义标识符解析:探索编程的基石与核心要素

    在计算机编程中,(Keywords)和预定义标识符(Predefined Identifiers)是编程语言的核心要素,它们在语法结构和语言功能中起到重要作用。在Go语言(Golang)中,和预定义标识符定义了编程的基本规则和构建块,是实现功能的关键。本篇博客将深入探讨Go语言中的关

    2024年02月12日
    浏览(69)
  • R语言【paleobioDB】——pbdb_taxon():通过名称或标识符,获得一个类群名的基本信息

     Package  paleobioDB  version 0.7.0 paleobioDB 包在2020年已经停止更新,该包依赖PBDB v1 API。 可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后,执行本地安装。  参数【...】 :可通过 API 调用的参数。所有可用参数详见 PBDB Data Service: Single taxon。 返回一个数据帧,

    2024年01月19日
    浏览(37)
  • 【100天精通python】Day2:python入门_ python的语言基础,编码规范,代码注释,缩进,保留字,标识符

    目录  1 编码规范 1.1 编码规范准则 1.2 编码规范示例 2  代码注释 3  缩进

    2024年02月13日
    浏览(57)
  • 初始Go语言2【标识符与关键字,操作符与表达式,变量、常量、字面量,变量作用域,注释与godoc】

      go变量、常量、自定义类型、包、函数的命名方式必须遵循以下规则: 首字符可以是任意Unicode字符或下划线。 首字符之外的部分可以是Unicode字符、下划线或数字。 名字的长度无限制。 理论上名字里可以有汉字,甚至可以全是汉字,但实际中不要这么做。 Go语言

    2023年04月09日
    浏览(55)
  • 错误C2065:未声明的标识符 - 解决C++中的未声明标识符错误

    错误C2065:未声明的标识符 - 解决C++中的未声明标识符错误 在C++编程中,错误C2065是一种常见的编译错误,它表示使用了一个未声明的标识符。通常情况下,这个错误是由于忘记包含必要的头文件或者拼写错误导致的。本文将介绍如何解决这个错误,并提供相应的源代码示例

    2024年02月06日
    浏览(55)
  • 初识标识符

    abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implementis import instanceof int interface long native new package private protected public return strictfp short static super switch synchronized this throw throws transient try void volatile while   java所有的组成

    2024年02月11日
    浏览(63)
  • go学习-指针 标识符

    1.指针 (1).基本介绍 1)基本数据类型,变量存的值,也叫值类型 2)获取变量的地址用,比如 var num int ,获取num的地址:num 3)指针类型,变量存的是一个地址,这个地址指向的空间存的才是真正值,比如: var ptr *int =num 4)获取指针类型所指的值,使用*,比如:var *ptr int,使用

    2024年02月11日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包