【C#】数字后缀及其作用 | Numeric Literal Suffixes and Their Usage in C#

C#中的数字字面量后缀及其作用 | Numeric Literal Suffixes and Their Usage in C#

在C#编程中,我们经常需要使用不同类型的数字,如整数、浮点数和高精度数字等。为了方便表示这些数字并明确其数据类型,C#提供了各种数字字面量后缀。本文将通过实例详细介绍这些后缀的作用和用法。

When programming in C#, we often need to use different types of numbers, such as integers, floating-point numbers, and high-precision numbers. To facilitate the representation of these numbers and clarify their data types, C# provides various numeric literal suffixes. This article will introduce the usage and effects of these suffixes in detail through examples.

1. mM后缀表示decimal类型 | m or M Suffix for decimal Type

decimal类型用于表示高精度的十进制数字。在C#中,我们可以使用mM后缀来指定一个字面量为decimal类型。

The decimal type is used to represent high-precision decimal numbers. In C#, we can use the m or M suffix to specify a literal as the decimal type.

decimal price = 9.99m;
decimal tax = 1.50M;
decimal total = price + tax;
Console.WriteLine($"Total: {total}"); // 输出: Total: 11.49

2. fF后缀表示float类型 | f or F Suffix for float Type

float类型用于表示单精度浮点数。通过在数字字面量末尾添加fF后缀,我们可以将其指定为float类型。

The float type is used to represent single-precision floating-point numbers. By appending the f or F suffix to the end of a numeric literal, we can specify it as the float type.

float pi = 3.14159f;
float radius = 2.5F;
float area = pi * radius * radius;
Console.WriteLine($"Area: {area}"); // 输出: Area: 19.63495

3. dD后缀表示double类型 | d or D Suffix for double Type

double类型用于表示双精度浮点数。如果没有指定后缀,数字字面量默认为double类型。我们也可以显式地使用dD后缀。

The double type is used to represent double-precision floating-point numbers. If no suffix is specified, the numeric literal defaults to the double type. We can also explicitly use the d or D suffix.

double distance = 1000.0;
double time = 3600d;
double speed = distance / time;
Console.WriteLine($"Speed: {speed} m/s"); // 输出: Speed: 0.277777777777778 m/s

4. uU后缀表示uint类型 | u or U Suffix for uint Type

uint类型表示32位无符号整数。通过在整数字面量末尾添加uU后缀,我们可以将其指定为uint类型。

The uint type represents a 32-bit unsigned integer. By appending the u or U suffix to the end of an integer literal, we can specify it as the uint type.

uint age = 25u;
uint max = uint.MaxValue;
Console.WriteLine($"Age: {age}, Max: {max}"); // 输出: Age: 25, Max: 4294967295

5. lL后缀表示long类型 | l or L Suffix for long Type

long类型表示64位有符号整数。通过在整数字面量末尾添加lL后缀,我们可以将其指定为long类型。

The long type represents a 64-bit signed integer. By appending the l or L suffix to the end of an integer literal, we can specify it as the long type.

long population = 7800000000L;
long milliseconds = 1000L * 60 * 60 * 24;
Console.WriteLine($"Population: {population}, Milliseconds in a day: {milliseconds}");
// 输出: Population: 7800000000, Milliseconds in a day: 86400000

6. uluLUlULluLulULU后缀表示ulong类型 | ul, uL, Ul, UL, lu, Lu, lU, or LU Suffix for ulong Type

ulong类型表示64位无符号整数。通过在整数字面量末尾添加uluLUlULluLulULU后缀,我们可以将其指定为ulong类型。

The ulong type represents a 64-bit unsigned integer. By appending the ul, uL, Ul, UL, lu, Lu, lU, or LU suffix to the end of an integer literal, we can specify it as the ulong type.

ulong bytesInTB = 1024uL * 1024 * 1024 * 1024;
ulong maxValue = ulong.MaxValue;
Console.WriteLine($"Bytes in a TB: {bytesInTB}, Max Value: {maxValue}");
// 输出: Bytes in a TB: 1099511627776, Max Value: 18446744073709551615

在编写C#代码时,合理使用数字字面量后缀可以让编译器正确推断数据类型,减少隐式类型转换带来的潜在问题。同时,明确指定数据类型也有助于提高代码的自文档化程度,使其更易于理解和维护。

When writing C# code, proper use of numeric literal suffixes allows the compiler to correctly infer data types and reduces potential issues caused by implicit type conversions. Meanwhile, explicitly specifying data types also helps improve the self-documentation of the code, making it easier to understand and maintain.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】【极简入门】12-元组

基本特性 元组就是一个逗号分隔的序列:t = ‘a’, ‘b’, ‘c’一般都用括号把元组括起来: t = (‘a’, ‘b’, ‘c’)创建单元素元组, 需要在末尾加上逗号: t1 = ‘a’, 不加逗号不构成元组:t2 = (‘a’)如果参数是一个序列 (字符串, 列表或者元组), 结果便会得到一个由元素…

首场直播,就在4月11日!

2024年的第一场直播,我们把目光聚焦到“大会员”。 这一次我们想聊聊,当大会员遇上泛零售企业,会产生怎样的“火花”。泛零售企业突破增长压力的机会在哪里?又有哪些挑战必须直面? 本次直播将结合泛零售企业“多业态、…

GEE问题——在使用sentienl数据云掩膜的时候发现出现中间连贯性的“条带”问题,如何解决?

简介 在使用sentienl+landsat数据掩膜的时候发现出现了中间连贯性的条带问题,如何解决?这里我们使用GEE出品的Landsat和sentinel数据的过程中,当我们进行云掩膜的时候出现了条带的问题。 问题 您注意到这个问题了吗? 我该如何消除它们(例如,在镶嵌前遮蔽瓦片最外层的 …

1379. 找出克隆二叉树中的相同节点

说在前面 🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。 题目描述 给你两棵二叉树,原始树 original 和克隆树 cloned,以及一个位于原始…

UniApp 应用发布到苹果商店指南

🚀 想要让你的 UniApp 应用在苹果商店亮相吗?别着急,让我来带你一步步完成这个重要的任务吧!在这篇博客中,我将详细介绍如何将 UniApp 应用顺利发布到苹果商店,让你的应用跻身于苹果生态之中。 引言 &…

十八、Rust gRPC 多 proto 演示

十八、Rust gRPC 多 proto 演示 网上及各官方资料,基本是一个 proto 文件,而实际项目,大多是有层级结构的多 proto 文件形式,本篇文章 基于此诉求,构建一个使用多 proto 文件的 rust grpc 使用示例。 关于 grpc 的实现…

高德定位 SDK 到底提供了什么服务?

最近我被高德的销售烦到不行,说是我用了他们的 SDK,现在 SDK 要收费。 表达是很绕的,什么授权啦,什么企业认证风险啦,讲了一堆,还跟我开始搬出协议了。感觉高德的销售真够垃圾的,编个话术都不会…

Lua环境下载与配置

这里介绍如何下载已经编译好的Lua环境,如何配置Lua环境。 如希望自己从源码编译Lua环境,请自行搜索资料。 第一步:下载编译好的lua环境 打开下面链接,然后根据指引下载。 The Programming Language Luahttps://www.lua.org/hom…

windows下基于python语言的TTS开发

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概述Visual St…

算法打卡day33|动态规划篇01|动态规划理论基础| Leetcode 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

动态规划理论 定义 动态规划(Dynamic Programming,简称DP),主要用于解决多阶段决策问题。它的核心思想是将一个复杂的多阶段问题转化为一系列相对简单的单阶段问题,然后逐一求解这些单阶段问题,最后将这些单阶段问题的解合并&…

坦克大战_java源码_swing界面_带毕业论文

一. 演示视频 坦克大战_java源码_swing界面_带毕业论文 二. 实现步骤 完整项目获取 https://githubs.xyz/y22.html 部分截图 启动类是 TankClinet.java,内置碰撞检测算法,线程,安全集合,一切皆对象思想等,是java进阶…

【vue2+antvx6】报错Cannot read properties of undefined (reading ‘toUpperCase‘)

我的代码是这样的 <el-collapseref"collapse"v-model"active"accordionclass"collapseStart"change"collapsechange"><el-collapse-item:name"String(index 1)"v-for"(i, index) in List":key"in…

杂货铺 | 使用 Github Pages 和 Hexo 搭建自己的独立博客

文章目录 &#x1f4da;Step1&#xff1a;安装Node.js和Git&#x1f4da;Step2&#xff1a;安装并初始化配置Hexo&#x1f4da;Step3&#xff1a;本地查看效果&#x1f4da;Step4&#xff1a;将博客部署到Github Pages上&#x1f407;创建项目代码库&#x1f407;配置SSH密钥&a…

本题解答错误----暂做记录----130. 被围绕的区域

130. 被围绕的区域 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a;_130被围绕的区域_dfs_130被围绕的区域_bfs_01 错误经验吸取 原题链接&#xff1a; 添加链接描述130. 被围绕的区域 https://leetcode.cn/problems/surrounded-regions…

JavaSE:抽象类和接口

目录 一、前言 二、抽象类 &#xff08;一&#xff09;抽象类概念 &#xff08;二&#xff09;使用抽象类的注意事项 &#xff08;三&#xff09;抽象类的作用 三、接口 &#xff08;一&#xff09;接口概念 &#xff08;二&#xff09;接口语法规则 &#xff08;三&a…

Leetcode 423. 从英文中重建数字

给你一个字符串 s &#xff0c;其中包含字母顺序打乱的用英文单词表示的若干数字&#xff08;0-9&#xff09;。按 升序 返回原始的数字。 示例 1&#xff1a; 输入&#xff1a;s “owoztneoer” 输出&#xff1a;“012” 示例 2&#xff1a; 输入&#xff1a;s “fviefur…

jakarta 实现 HttpClient

正在使用quarkus开发项目。使用jdk17&#xff0c;过去的HttpClient不能用了&#xff0c;经过一番周折&#xff0c;重新实现了HttpClient简单版&#xff0c;代码如下 import jakarta.enterprise.context.ApplicationScoped; import jakarta.ws.rs.client.Client; import jaka…

视频创作者必备应用!三步帮你解决前置内容条件,打造专属大片!

你还没尝试过AI视频生成&#xff1f;AI技术逐渐浸透我们的生活&#xff0c;太多的事物变得有了捷径可走。AI视频生成为创作者们提供更加便利快捷的输出形式&#xff0c;更优质更契合的生产内容。尝试AI视频生成系列应用&#xff0c;迎接AI宇宙&#xff01; 生成剧本分镜 视频…

Unity Toggle组件

Toggle Group组件 Allow Switch Off属性值为false时&#xff0c; 1&#xff0c;Toggle初始时默认会有一个被勾选&#xff08;ison为true&#xff09;&#xff0c;可以自己打勾指定 2&#xff0c;不能取消勾选 Allow Switch Off属性值为true时&#xff0c; 1&#xff0c;Toggl…

抖音招聘如何报白?

抖音招聘如何报白&#xff1f; 人力资源行业报白的好处&#xff0c;最直接的就是在直播和视频中发布招聘和企业信息&#xff0c;不用担心被封禁和限制流量。 可以通过抖音直播进行招聘&#xff0c;也可以在视频中添加小程序&#xff0c;流量不会受到限制&#xff0c;等于多了…