C#基础回顾—— ToString()方法带参数

博客记录了ToString()方法带参数的特殊用法。包括格式化时间,如用不同格式显示年月日时分、年月、月日等;还提及了格式化数值,但文档未详细展开数值格式化内容,方便后续使用时查看。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有幸见识到了ToString()方法的一些特殊的用法,主要是带参数的ToString()的使用,格式有很多,将其记录在这里,在需要使用的时候再来查看相关即可。

一、格式化时间
1、年月日时分 
       currentTime.ToString("f"); //不显示秒 
2、年月 
       currentTime.ToString("y"); 
3、月日 
       currentTime.ToString("m"); 
4、格式为:2003-9-23 
       currentTime.ToString("d"); 
5、格式为:14:24 
       currentTime.ToString("t"); 

二、格式化数值

格式说明实例输出
C

货币

2.5.ToString("C")¥2.50
D

十进制数

25.ToString("D5")00025
E

科学型

25000.ToString("E")2.500000E+005
F

浮点

25.ToString("F2")25.00
G

常规

2.5.ToString("G")2.5
N

数字

2500000.ToString("N")2,500,000.00
P

百分制

12345.ToString("p");1,234,500.00%
X十六进制10.ToString("X")oxA
X2十六进制(每次两位)10.ToString("X2")oxA

 

### C# 类与面向对象编程练习题及教程 #### 接口的应用 接口中的方法均为抽象方法,仅提供函数签名而不含具体实现。任何实现了这些接口的类都需给出相应的方法体[^1]。 ```csharp namespace ClassQuize { internal interface IVehicle { void Start(); void Stop(); } } ``` 此代码片段展示了如何创建一个名为`IVehicle`的接口及其两个成员——`Start()`和`Stop()`. 这些方法将在派生类中被具体化并执行特定功能。 #### 对象实例化的例子 下面的例子说明了怎样在一个控制台应用程序里初始化自定义类型的实体,并调用了它的公共行为: ```csharp using System; class Program { static void Main(string[] args) { Person suQuan = new Person(); suQuan.Name = "孙全"; suQuan.Age = -23; suQuan.Gender = '春'; suQuan.Say(); Console.ReadKey(); } } ``` 这里展示了一个简单的场景,在这个场景中,先建立了一位名叫“孙全”的人物角色,接着设置了年龄(-23, 应注意实际应用时应确保输入的有效性验证), 性别('春', 同样需要注意字符集的选择合理性). 最终通过调用Say()来触发输出动作. #### 自定义数据结构的设计 为了更好地理解OOP概念,考虑构建一个新的复合数值类型—复数: ```csharp public class ComplexNumber { public double Real { get; set; } public double Imaginary { get; set; } public ComplexNumber(double realPart, double imaginaryPart){ this.Real = realPart; this.Imaginary = imaginaryPart; } // 加法运算符重载 public static ComplexNumber operator +(ComplexNumber c1, ComplexNumber c2){ return new ComplexNumber(c1.Real + c2.Real, c1.Imaginary + c2.Imaginary); } // 减法运算符重载 public static ComplexNumber operator -(ComplexNumber c1, ComplexNumber c2){ return new ComplexNumber(c1.Real - c2.Real, c1.Imaginary - c2.Imaginary); } // 打印当前复数的信息 public override string ToString(){ return $"{this.Real} + ({this.Imaginary})i"; } } // 测试部分 static void TestComplexNumbers(){ var numA = new ComplexNumber(3.5, 4.8); var numB = new ComplexNumber(-2.7, 6); Console.WriteLine($"Num A: {numA}"); Console.WriteLine($"Num B: {numB}"); var sumResult = numA + numB; Console.WriteLine($"Sum Result: {sumResult}"); var diffResult = numA - numB; Console.WriteLine($"Difference Result: {diffResult}"); } ``` 上述示例不仅涵盖了属性、构造器的概念,还涉及到了算术运算符(`+`, `-`) 的重载机制以及字符串表示形式的定制[^3]. #### 基础理论回顾 值得注意的是,面向对象程序设计的核心在于利用类作为模板去创造具体的对象;而每个完整的C#项目至少要有一个有`Main`入口点的类存在。除此之外,类内部可容纳多种成分如字段(Field)、属性(Property) 和 方法(Method)[^4].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值