C#学习笔记(五)
- 第 三 章 基本语句以及语法
- 一、控制台的基本语句使用
- 1. 方法重载
- 2. 输入输出
- 3.字符串格式化
- 二、赋值运算符、算数运算符、比较运算符
- 三、数据类型转换常用方法使用、比较和选择
- 1. 自动类型转换(隐式转换)
- 2. 强制类型转换
- 2.1 数值类型之间的强制转换
- 2.2 字符串到值类型的强制转换-Parse
- 2.3 强制类型转换之万能转换器-Convert
- 3. 总结
第 三 章 基本语句以及语法
一、控制台的基本语句使用
1. 方法重载
C#中的方法重载(Method Overloading)是指在同一个类中,可以定义多个方法具有相同的名称但参数列表不同的情况。 通过方法重载,可以根据不同的参数类型或参数个数来调用不同的方法,从而提高代码的灵活性和可读性。
public void Show()
{Console.WriteLine("Nothing");
}public void Show(int number)
{Console.WriteLine(number);
}
在这个例子中,Show 方法被重载了两次,一次是没有参数,一次是接受一个整数参数。编译器会根据调用时提供的参数类型和个数来决定调用哪个 Show 方法。
摘自
https://blog.csdn.net/wyhmtt/article/details/72847271
2. 输入输出
Console:控制台
- ReadLine()方法:读取当前用户输入内容的方法,此内容都是字符串类型。如果接收的变量不是字符串,需要对应的类型转换。
- WriteLine()方法:输出字符串的方法,并自动换行。这个方法有很多重载。
- Write()方法:直接输出字符串,不换行,其他的同上。
3.字符串格式化
int height = 160;int age = 13;
// 使用占位符拼接string self = string.Format("我今年{1} 岁,身高{0}cm", height, age);Console.WriteLine(self);Console.WriteLine("我今年{1} 岁,身高{0}cm", height, age);
// .NET4.6 版本语法新特性,简化写法 self = $"我今年{age} 岁,身高{height}cm";Console.WriteLine(self);Console.WriteLine($"我今年{age} 岁,身高{height}cm");
二、赋值运算符、算数运算符、比较运算符
- 赋值运算符:=
- 算数运算符:a=a+1;a+=1;a++;表示同一含义
- 比较运算符:==、!=、>、<、>=、<= 两个变量的比较,返回结果只有两个: true/false(bool 类型)
三、数据类型转换常用方法使用、比较和选择
1. 自动类型转换(隐式转换)
- 转换条件
第一、两种类型必须是值类型(整型和浮点类型)。
第二、目标类型必须大于要转换的类型,例如 double 大于 int。 - 使用方法
如果不遵循第二条就会产生语法错误
2. 强制类型转换
2.1 数值类型之间的强制转换
会涉及到精度丢失
2.2 字符串到值类型的强制转换-Parse
需要注意的是字符串必须是值类型的“有效表示形式”
double a = double.Parse("200.3");float b = float.Parse("20.45");int c = int.Parse("200");int d = (int)double.Parse("200.55");double e = double.Parse("200");// 值类型 -->字符串string s1 = a.ToString();string s2 = b.ToString();Console.WriteLine($"a:{a}\nb:{b}\nc:{c}\nd:{d}\ne:{e}\ns1:{s1}\ns2:{s2}\n");
2.3 强制类型转换之万能转换器-Convert
Convert
转换为Init: Convert.ToInt32
转换为float: Convert.ToSingle
转换为double: Convert.ToDouble
转换为string: Convert.ToString
转换为DateTime: Convert.ToDateTime
3. 总结
第一、强制类型转换之 Parse,只适合字符串到值类型的转换。
第二、强类型转之 Convert,适合各种类型之间的转换。
第三、强类型转换之(目标类型)变量,一般适合值类型之间的转换。
第四、自动类型转换,一般只适合于低精度的值变量到高精度的值类型。