C#之基础语法

C# 课堂笔记

数据类型

C# 语言支持多种数据类型,它们可以大致被分为两大类:值类型引用类型。每种类型都有其特定的用途和表现形式。

值类型(Value Types)

  1. 整型(Integral Types)

    • sbyte(有符号8位整数,范围-128至127)

    • byte(无符号8位整数,范围0至255)

    • short(有符号16位整数,范围-32,768至32,767)

    • ushort(无符号16位整数,范围0至65,535)

    • int(有符号32位整数,范围-2,147,483,648至2,147,483,647)

    • uint(无符号32位整数,范围0至4,294,967,295)

    • long(有符号64位整数,范围-9,223,372,036,854,775,808至9,223,372,036,854,775,807)

    • ulong(无符号64位整数,范围0至18,446,744,073,709,551,615)

  2. 浮点型(Floating Point Types)

    • float(单精度32位浮点数)

    • double(双精度64位浮点数)

  3. 布尔型(Boolean Type)

    • bool(表示真(true)或假(false)的布尔值)

  4. 字符型(Character Type)

    • char(表示单个Unicode字符,16位)

特殊值类型

  • 枚举类型(Enumeration Types)enum,允许定义一组命名的整数常量。

  • 结构类型(Struct Types)struct,可以包含多种成员(如方法和属性)。

  • 可空类型(Nullable Types)Nullable<T>,允许任何值类型表示额外的null状态。

引用类型(Reference Types)

  • 类(Class)class,可以包含多种成员(如方法、属性和事件)。

  • 接口(Interface)interface,定义了一组可以由类或结构实现的规范。

  • 数组(Array)array,表示固定大小的相同类型元素的序列。

  • 字符串(String)string,表示Unicode字符序列,不可变。

读取输入(ReadLine) 和 输出内容(WriteLine)

Console.ReadLine()Console.WriteLine() 是在控制台应用程序中进行输入和输出的常用方法。

读取

Console.ReadLine()

  • 用于从控制台读取用户的输入,返回一个字符串。

输出

Console.WriteLine()

  • 用于向控制台输出一行文本。

  • 可以使用占位符输出变量的值,例如:Console.WriteLine("你好, {0}!", name);

C# 数据类型转换

在C#编程中,数据类型转换是一种常见的操作,允许将变量从一种类型转换成另一种类型。C#中的数据类型转换可以分为两大类:隐式转换显式转换

隐式转换

隐式转换是指在不丢失信息的情况下,将一种数据类型自动转换为另一种数据类型的过程。编译器会自动进行这种转换,不需要程序员显式指定。

基本原则

  • 数据类型兼容性:目标数据类型能够无风险地容纳源数据类型的值。

  • 范围或精度:目标数据类型的范围或精度大于或等于源数据类型。

示例

  • int转换为long

csharpCopy codeint myInt = 10000;
long myLong = myInt; // 隐式转换
  • float转换为double

csharpCopy codefloat myFloat = 9.8f;
double myDouble = myFloat; // 隐式转换

显式转换(强制类型转换)

显式转换,也称为强制类型转换,是需要程序员显式指定的类型转换。这通常在两种类型不兼容或者转换可能导致信息丢失时使用。

基本语法

csharpCopy code
(目标类型)变量名

示例

  • double转换为int

csharpCopy codedouble d = 9.78;
int i = (int)d; // 强制转换

注意事项

  • 隐式转换保证了数据的安全性,不会导致信息丢失。

  • 显式转换可能会导致数据丢失或溢出,因此使用时需要格外小心。

  • 并非所有类型的转换都可以隐式进行。当可能丢失信息时,必须使用显式转换。

  • 使用Convert类可以提供一种更安全、可控的转换方式,尤其是在处理不同基础类型的转换时。

int转换为string

第一种:
string a =Convert.ToString(123);
​
第二种:
string s = 123 + "";

Parse和Convert转换方法

在C#中,转换分为显式转换和隐式转换,常用的转换方法包括Parse方法和Convert类。

Parse 方法

  • 用于将字符串转换为其他类型,如int.Parse("123")将字符串"123"转换为整数123。(只能接受字符串转换成其他类型)

  • 主要用于基本数据类型的转换。

使用场景:当你确定字符串能成功转换为目标类型时,使用Parse方法较为合适。例如,用户输入的数据在经过验证后。

行为:如果转换失败,Parse方法会抛出异常。因此,使用时需要谨慎处理可能的异常情况。

Convert

  • 提供了一系列的静态方法,用于不同数据类型之间的转换,例如Convert.ToInt32("123")可以将字符串"123"转换为整数123。(可以接受任意类型数据转换成其他类型)

  • 相比Parse方法,Convert类在转换失败时会返回一个默认值,而不是抛出异常。

使用场景:当输入数据的格式不确定,或者希望在转换失败时程序能平稳运行,不抛出异常时,使用Convert类更为适宜。Convert类提供了更广泛的数据类型转换支持,包括对空值(null)的处理。

行为Convert类在无法进行转换时通常会返回类型的默认值,而不是抛出异常。这使得Convert类在处理不确定输入时更加灵活和安全。

foreach循环

foreach循环特别适用于遍历集合或数组。它允许你对集合中的每个元素执行相同的操作。

foreach (数据类型 标识符 in 数组名称)
{
    // 对每个元素执行操作
}
​
foreach (var item in str){
    var:可变数据类型,程序运行时数据类型由赋予的值决定
    item:迭代变量,通过迭代去访问集合元素,每一次会将数组中的元素的值赋给迭代变量
    in:集合/数组,指明遍历的对象
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值