基本语法和数据类型
一、基本语法:
语句和代码块:C#程序由一系列语句组成,每条语句以分号(;)结束。语句的集合可以组成一个代码块,用花括号({})括起来。
注释:用于解释代码的注释,可以使用双斜线(//)进行单行注释,或使用/* */进行多行注释。
关键字:C#有一些保留的关键字,不能用作变量名或标识符。
标识符:用于命名变量、方法、类等的名称,由字母、数字和下划线组成,必须以字母或下划线开头。
大小写敏感:C#是大小写敏感的,所以变量名"count"和"Count"是不同的。
变量声明和赋值:
使用关键字"var"可以根据赋值自动推断变量的类型。
变量声明格式:类型 变量名;
变量赋值:变量名 = 值;
// 变量声明和赋值
var height = 180;
string message;
message = "Welcome!";
二、数据类型:
// 整数类型 包括byte、sbyte、short、ushort、int、uint、long和ulong等。
int age = 25;
byte num = 100;
// 浮点数类型 包括float和double,用于表示带有小数部分的数字。
double price = 19.99;
float weight = 3.5f;
// 字符类型 使用char表示单个字符,用单引号(')括起来。
char grade = 'A';
// 布尔类型 用于表示逻辑值,只有两个取值:true和false。
bool isAvailable = true;
// 字符串类型 使用string表示文本,用双引号(")括起来。
string name = "John Smith";
// 数组类型 用于存储多个相同类型的元素的集合,可以是一维、多维或交错数组。
int[] numbers = { 1, 2, 3, 4, 5 };
// 枚举类型 用于定义一组具名的常量值。
enum DayOfWeek { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };
// 对象类型 所有类型的基类是object,可以存储任何类型的值。
object obj = "Hello";
// 变量声明和赋值
var height = 180;
string message;
message = "Welcome!";
类型转换(6种)
隐式转换:
int num=100;
long we=num ; 隐式将int类型转换为long类型
显示转换:
double value=123;
int we=(int)value;显式将double类型转换为int类型,小数部分被截断
拆箱与装箱:
int num = 10;
object obj = num; // 装箱,将值类型转换为引用类型
int unboxedNum = (int)obj; // 拆箱,将引用类型转换为值类型
转换方法:
string numberString = "123";
int number = int.Parse(numberString); // 将字符串转换为int类型
double value = 3.14;
string valueString = value.ToString(); // 将double类型转换为字符串
类型转换:
byte[] byteArray = BitConverter.GetBytes(100); // 将整数转换为字节数组
int intValue = BitConverter.ToInt32(byteArray, 0); // 将字节数组转换为整数
BitConverter是C#中的一个辅助类,用于进行基本数据类型与字节数组之间的转换操作。BitConverter.GetBytes(100)将整数值100转换为由4个字节组成的字节数组。字节数组的顺序取决于计算机的字节顺序(大端序或小端序),在通常情况下,这个整数的字节顺序是从低位到高位。
自定义类型转换:
class Distance
{
public double Meters { get; set; }
public static implicit operator Distance(double value)
{
return new Distance { Meters = value };
}
public static explicit operator double(Distance distance)
{
return distance.Meters;
}
}
Distance distance = 10.5; // 隐式类型转换
double meters = (double)distance; // 显式类型转换