C#的String.Format 方法

目录

一、重载

二、Format(String, Object)

1.定义 

2.示例

三、Format(String, Object[])

1.定义

2.示例

3.示例 


        将对象的值转换为基于指定格式的字符串,并将其插入到另一个字符串。

一、重载

Format(IFormatProvider, String, Object, Object, Object)

将字符串中的格式项替换为三个指定对象的字符串表示形式。 参数提供区域性特定的格式设置信息。

Format(String, Object, Object, Object)

将字符串中的格式项替换为三个指定对象的字符串表示形式。

Format(IFormatProvider, String, Object, Object)

将字符串中的格式项替换为两个指定对象的字符串表示形式。 参数提供区域性特定的格式设置信息。

Format(String, Object, Object)

将字符串中的格式项替换为两个指定对象的字符串表示形式。

Format(IFormatProvider, CompositeFormat, ReadOnlySpan<Object>)

将 中的 CompositeFormat 一个或多个格式项替换为指定格式的相应对象的字符串表示形式。

Format(IFormatProvider, String, Object)

将指定字符串中的一个或多个格式项替换为对应对象的字符串表示形式。 参数提供区域性特定的格式设置信息。

Format(IFormatProvider, String, Object[])

将字符串中的格式项替换为指定数组中相应对象的字符串表示形式。 参数提供区域性特定的格式设置信息。

Format(String, Object[])

将指定字符串中的格式项替换为指定数组中相应对象的字符串表示形式。

Format(String, Object)

将字符串中的一个或多个格式项替换为指定对象的字符串表示形式。

Format(IFormatProvider, CompositeFormat, Object[])

将 中的 CompositeFormat 一个或多个格式项替换为指定格式的相应对象的字符串表示形式。

Format<TArg0,TArg1,TArg2>(IFormatProvider, CompositeFormat, TArg0, TArg1, TArg2)

将 中的 CompositeFormat 一个或多个格式项替换为指定格式的相应对象的字符串表示形式。

Format<TArg0,TArg1>(IFormatProvider, CompositeFormat, TArg0, TArg1)

将 中的 CompositeFormat 一个或多个格式项替换为指定格式的相应对象的字符串表示形式。

Format<TArg0>(IFormatProvider, CompositeFormat, TArg0)

将 中的 CompositeFormat 一个或多个格式项替换为指定格式的相应对象的字符串表示形式。

二、Format(String, Object)

        将字符串中的一个或多个格式项替换为指定对象的字符串表示形式。

1.定义 

public static string Format (string format, object? arg0);参数
format    String
复合格式字符串。arg0    Object
要设置格式的对象。返回
String
format 的副本,其中的任何格式项均替换为 arg0 的字符串表示形式。例外
ArgumentNullException
format 为 null。FormatException
format 中的格式项无效。
或
格式项的索引不为零。

2.示例

        使用 Format(String, Object) 方法在输出的字符串中间嵌入个人的年龄(指定的字符串)。

// 使用 Format(String, Object) 方法在输出的字符串中间嵌入个人的年龄
namespace _068_6
{internal class Program{private static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);DateTime birthday = new(1969, 1, 12);DateTime[] dates = [ new(1969, 11, 12),new DateTime(1994, 10, 1),new DateTime(2000, 10, 16),new DateTime(2003, 7, 27),new DateTime(2024, 1, 29) ];foreach (DateTime date in dates){TimeSpan interval = date - birthday;// Get the approximate number of years, without accounting for leap years.int years = (int)interval.TotalDays / 365;// See if adding the number of years exceeds dateValue.string output;if (birthday.AddYears(years) <= date){output = string.Format("You are now {0} years old.", years);Console.WriteLine(output);}else{output = string.Format("You are now {0} years old.", years - 1);Console.WriteLine(output);}}}}
}
// 运行结果:
/*
You are now 0 years old.
You are now 25 years old.
You are now 31 years old.
You are now 34 years old.
You are now 55 years old.*/

        示例中出现的DateTime对象的AddYears()方法详见本文作者发布的其他文章。

三、Format(String, Object[])

        将指定字符串中的格式项替换为指定数组中相应对象的字符串表示形式。

1.定义

public static string Format (string format, params object?[] args);参数
format    String
复合格式字符串。args    Object[]
一个对象数组,其中包含零个或多个要设置格式的对象。返回
String
format 的副本,其中格式项已替换为 args 中相应对象的字符串表示形式。例外
ArgumentNullException
format 或 args 为 null。FormatException
format 无效。
或
格式项的索引小于零,或者大于或等于 args 数组的长度。

2.示例

        创建一个字符串,其中包含特定日期的高温和低温数据。 有五个格式项,其中两个格式项定义其相应值字符串表示形式的宽度,第一个格式项还包括标准日期和时间格式字符串。

// Format(String, Object[])
namespace _068_7
{internal class Program{private static void Main(string[] args){ArgumentNullException.ThrowIfNull(args);DateTime date1 = new(2024, 1, 28);TimeSpan hiTime = new(14, 17, 32);decimal hiTemp = 62.1m; //decimal是数据类型,就像string一样,创建时在数字后面加mTimeSpan loTime = new(3, 16, 10);decimal loTemp = 54.8m;string result1 = string.Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)",date1, hiTime, hiTemp, loTime, loTemp);Console.WriteLine(result1);Console.WriteLine("******************************");string result2 = string.Format("Temperature on {0:d}:\n{1,11}: {2} degrees (hi)\n{3,11}: {4} degrees (lo)",new object[] { date1, hiTime, hiTemp, loTime, loTemp });Console.WriteLine(result2);}}
}
// 运行结果:
/*
Temperature on 2024/1/28:14:17:32: 62.1 degrees (hi)03:16:10: 54.8 degrees (lo)
******************************
Temperature on 2024/1/28:14:17:32: 62.1 degrees (hi)03:16:10: 54.8 degrees (lo)*/

        示例中出现的decimal是数据类型,它的用法就好比string类型的使用。定义一个decimal类型的变量时,必须在赋的值后面加m,否则警告double类型不能转为decimal类型。

3.示例 

// Format(String, Object[])
// 传递要格式化输出的数组而不是参数列表的对象。
namespace _068_8
{public class Example{public static void Main(){CityInfo newyork2024 = new("New York", 8175133, 302.64m, 2024);ShowPopulationData(newyork2024);CityInfo seattle2024 = new("Seattle", 608660, 83.94m, 2024);ShowPopulationData(seattle2024);}/// <summary>///  {2:N0}代表参数2,数字,小数位0;///  {3:N1}代表参数3,数字,小数位1;/// </summary>private static void ShowPopulationData(CityInfo city){object[] args = [city.Name!, city.Year!, city.Population!, city.Area!];string result = string.Format("{0} in {1}: Population {2:N0}, Area {3:N1} sq. feet",args);Console.WriteLine(result);}}
}
// 运行结果:
/*
New York in 2024: Population 8,175,133, Area 302.6 sq. feet
Seattle in 2024: Population 608,660, Area 83.9 sq. feet*/

        其它的重载方法的示例暂时不发布。

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

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

相关文章

PDF操作——批量删除末页

一、说明 由于PDF末页为空白页或者是免责声明需要删除&#xff0c;涉及的文件比较多&#xff0c;因此写了一小段代码进行处理。 二、完整架构流程 这个代码的整体架构流程可以分为以下几个步骤&#xff1a; 导入所需的库&#xff1a;首先&#xff0c;代码导入了PyPDF2和os两…

Optimism的挑战期

1. 引言 前序博客&#xff1a; Optimism的Fault proof 用户将资产从OP主网转移到以太坊主网时需要等待一周的时间。这段时间称为挑战期&#xff0c;有助于保护 OP 主网上存储的资产。 而OP测试网的挑战期仅为60秒&#xff0c;以简化开发过程。 2. OP与L1数据交互 L1&#xf…

探索智能巡检机器人深度学习的奥秘

机器人深度学习&#xff08;Robot Deep Learning&#xff09;是指利用深度学习技术&#xff0c;使机器人能够从大量数据中学习和提取特征&#xff0c;进而实现自主感知、决策和行动的能力。通过深度学习算法&#xff0c;机器人可以从传感器获取的数据中自动学习模式和规律&…

微信开放平台第三方开发,实现代小程序认证申请

大家好&#xff0c;我是小悟 微信小程序认证整体流程总共分为五个环节&#xff1a;认证信息填写、平台初审、管理员验证、供应商审核和认证成功。 服务商可以代小程序发起认证申请。平台将对认证基础信息进行初步校验。通过后&#xff0c;平台将向管理员微信下发模板消息&…

Redis(十)SpringBoot集成Redis

文章目录 连接单机mvnYMLController.javaRedisConfig.java 连接集群YML问题复现 RedisTemplate方式 连接单机 mvn <!--Redis--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</art…

SRC实战 | 信息泄露挖掘

本文由掌控安全学院 - 叴龙 投稿 1. 信息搜集 首先老语法先搜集一波&#xff0c;毕竟没有钓鱼和sg的能力&#xff0c;只能找注册站去挖挖了。 web.title”XX大学”&&web.body”忘记密码”&&web.body”注册” 2. 漏洞挖掘 这里找到一个可以注册网站接口&…

蓝桥杯 第 1 场 小白入门赛

目录 1.蘑菇炸弹 2.构造数字 3.小蓝的金牌梦 4.合并石子加强版 5.简单的LIS问题 6.期望次数 1.蘑菇炸弹 我们直接依照题目 在中间位置的数进行模拟即可 void solve(){cin>>n;vector<int> a(n1);for(int i1;i<n;i) cin>>a[i];int ans0;for(int i2;i…

WGS 84框架发布新版本-WGS 84(G2296)

根据NGA发布的最新消息&#xff0c;WGS 84框架发布了新版本-WGS 84(2296)&#xff0c;上一版本是G2139。以下是相关信息。 WGS 84 TERRESTRIAL REFERENCE FRAME (TRF) NGA implemented a new realization of the WGS 84 TRF, named WGS 84 (G2296) in its orbit and clock pr…

XSS haozi靶场通关笔记

XSS靶场地址&#xff1a;alert(1) 靶场的要求是输出一个内容为1的弹窗&#xff1b;这个靶场限制了输入位置只能是input code&#xff1b;而且浏览器发送内容时会自动进行url编码&#xff1b;所以重点考察的是代码的分析和基础payload构造&#xff1b;一切完成在当前页面&#…

【数据结构】链表(单链表实现+测试+原码)

1.链表 1.1 链表的概念及结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表 中的指针链接次序实现的 。 现实中&#xff1a;链表就像是一列动车&#xff0c;一节连着一节 数据结构中的链表 注意: 1.从上图可看出…

解决php date()输出时间与Linux系统不一致

一、在Docker容器创建好之后&#xff0c;可能会发现容器时间跟宿主机时间不一致 我们需要同步它们的时间&#xff0c;让容器时间跟宿主机时间保持一致。有以下几种方法&#xff1a; 方法1&#xff1a; 在创建 Docker 容器时&#xff0c;加上 “-v /etc/localtime:/etc/local…

python管理依赖关系库

一、poetry Poetry 是一个用于管理 Python 项目依赖关系和构建工具的工具。它提供了一个简单的命令行界面&#xff0c;可以帮助您创建、管理和发布 Python 项目&#xff0c;使用方法&#xff1a;command [options] [arguments] 官网&#xff1a;https://python-poetry.org/doc…

React16源码: React中LegacyContext的源码实现

LegacyContext 老的 contextAPI 也就是我们使用 childContextTypes 这种声明方式来从父节点为它的子树提供 context 内容的这么一种方式遗留的contextAPI 在 react 17 被彻底移除了&#xff0c;就无法使用了那么为什么要彻底移除这个contextAPI的使用方式呢&#xff1f;因为它…

知识点积累系列(一)golang语言篇【持续更新】

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 知识点积累 系列文章的第一篇&#xff0c;记录golang语言相关的知识点 1.结构体的mapstructure是什么 mapstructure:"default" mapstructure是一个Go语言的库&#xff0c;用于将一个map中的值映射到…

C语言王道第八周一题

Description 初始化顺序表&#xff08;顺序表中元素为整型&#xff09;&#xff0c;里边的元素是 1,2,3&#xff0c;然后通过 scanf 读取一个元素&#xff08;假如插入的是 6&#xff09;&#xff0c;插入到第 2 个位置&#xff0c;打印输出顺序表&#xff0c;每个 元素占 3 个…

添加了gateway之后远程调用失败

前端提示500&#xff0c;后端提示[400 ] during [GET] to [http://userservice/user/1] 原因是这个&#xff0c;因为在请求地址写了两个参数&#xff0c;实际上只传了一个参数 解决方案&#xff1a;加上(required false)并重启所有相关服务

华为HI模式与华为智选模式的左右互博

从去年开始&#xff0c;华为的智驾成果便不断释放出来&#xff0c;一边是号称遥遥领先的问界系列的大卖&#xff0c;对外展示了华为强悍的科技实力&#xff1b;另一边是华为汽车BU的分拆融资&#xff0c;在业界引发了广泛关注&#xff0c;再次让外界看到了华为在“造车”上的立…

【程序员英语】【美语从头学】初级篇(入门)(笔记)Lesson13(买东西)(餐厅点餐事宜;询问有无座位;食物如何调理:牛排、咖啡等;菜单等相关)

《美语从头学初级入门篇》 注意&#xff1a;被 删除线 划掉的不一定不正确&#xff0c;只是不是标准答案。 文章目录 Lesson 13 At the Restaurant 在餐厅会话A会话B笔记餐厅询问有无座位&#xff1b;餐厅电话订座其他餐厅询问有无座位的问法 吸烟区与非吸烟区&#xff08;smo…

《Python 简易速速上手小册》第3章:Python 的函数和模块(基于最新版 Python3.12 编写)

注意&#xff1a;本《Python 简易速速上手小册》 核心目的在于让零基础新手「快速构建 Python 知识体系」 文章目录 <mark >注意&#xff1a;本《Python 简易速速上手小册》<mark >核心目的在于让零基础新手「快速构建 Python 知识体系」 3.1 函数&#xff1a;编写…

订婚支出及共同生活消费是否属于彩礼?应否返还?

恋爱期间&#xff0c;男女双方为增进情感而互赠财物的现象十分普遍。而当双方关系结束时&#xff0c;赠送财物的一方要求对方返还时&#xff0c;法院能否支持其主张&#xff1f; 一起男方向女方及女方母亲索要彩礼及恋爱期间花销钱款引发的婚约财产纠纷案&#xff0c;法院综合双…