当前位置: 首页 > news >正文

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:集合/数组,指明遍历的对象
}
http://www.dtcms.com/a/317649.html

相关文章:

  • 机器学习之朴素贝叶斯
  • Suno API V5模型 php源码 —— 使用灵感模式进行出创作
  • 基于PHP的论坛社交网站系统开发与设计
  • 排序算法详解
  • 媒体资产管理系统和OCR文字识别的结合
  • Ethereum: L1 与 L2 的安全纽带, Rollups 技术下的协作与区别全解析
  • 解决启动docker报错Cannot connect to the Docker daemon问题
  • 阿里 Qwen-Image:开源 20B 模型引领图像生成新纪元,中文渲染超越 GPT-4o!
  • 数据结构与算法的认识
  • 手动开发一个TCP服务器调试工具(二):无界面 TCP 通信服最小实现
  • ETF期权分仓的风险如何管理?
  • 基于Hadoop的股票大数据分析可视化及多模型的股票预测研究与实现
  • 四十、【高级特性篇】接口用例数据驱动:引入随机变量与动态数据生成
  • 生成式模型 ?判别式模型?用【猫狗分类器】帮助理解!
  • 【网络安全】入侵检测系统 Suricata 概述 | IDS
  • 2025年大语言模型与多模态生成工具全景指南(V2.0)
  • PyCharm vs. VSCode 到底哪个更好用
  • 5个数据库 存储系统精选 | C/C++ 项目深度解析
  • 支持向量机(SVM)算法依赖的数学知识详解
  • 深度模拟用户行为:用Playwright爬取B站弹幕与评论数据
  • 使用Java爬取xxx律师协会网站上公开的律所信息并导出到Excel
  • 服务器——“查询不到显卡驱动,且输入nvidia-smi报错”的解决办法
  • 时序数据库的发展现状与未来趋势
  • 百度智能云给“数字人”发工牌
  • Unix/Linux 系统编程中用于管理信号处理行为的核心概念或模型
  • QT自定义控件
  • InnoDB 存储引擎对 MVCC 的实现详解
  • [Linux]学习笔记系列 -- [arm][debug]
  • QtMqtt库的编译以及安装
  • 导入Excel打印