江西省网站建设_网站建设公司_UI设计师_seo优化
2025/12/17 1:18:34 网站建设 项目流程

C#变量

变量是存储数据值的容器。

在 C# 中,有不同类型的变量(用不同的关键字定义),例如:

  • int- 存储整数(整数),不带小数,如123或-123
  • double- 存储带小数的浮点数,例如19.99或-19.99
  • char- 存储单个字符,如"a"或"B"。字符值用单引号括起来
  • string- 存储文本,例如"Hello World"。字符串值用双引号括起来
  • bool- 存储具有两种状态的值:true或false
声明(创建)变量

要创建变量,必须指定类型并为其赋值:

type variableName = value;

其中type是 C# 类型(如intstring),variableName是变量的名称 (如xname)。 等号用于为变量赋值。

要创建存储文本的变量,请查看以下示例:

实例

创建一个名为name的变量,类型为string并将其赋值为"John":

string name = "John"; Console.WriteLine(name);

创建存储数字的变量,请查看以下示例:

创建一个名为myNumint数字类型变量,并将其赋值为15:

int myNum = 15; Console.WriteLine(myNum);

也可以在不赋值的情况下先声明变量,然后再赋值:

int myNum; myNum = 15; Console.WriteLine(myNum);

请注意,如果将新值赋给现有变量,它将覆盖以前的值:

myNum的值改为20:

int myNum = 15; myNum = 20; // myNum 现在是 20 Console.WriteLine(myNum);

常量

如果不希望其他人(或您自己)覆盖现有值,可以用const关键字(这将声明变量为常量,意味着不可更改且为只读)。

const int myNum = 15; myNum = 20; // 错误

当您希望变量始终存储相同的值,以便其他人(或您自己)不会弄乱您的代码时,const关键字就非常有用。一个经常被称为常数的例子是PI(3.14159…)。

注释:如果不赋值,则不能声明常量变量。如果执行此操作,将发生错误: 常量字段需要提供一个值.

其他类型

演示如何声明其他类型的变量:

int myNum = 5; double myDoubleNum = 5.99D; char myLetter = 'D'; bool myBool = true; string myText = "Hello";

显示变量

WriteLine()方法通常用于向控制台窗口显示变量值。

要组合文本和变量,请使用+字符:

string name = "John"; Console.WriteLine("Hello " + name);

也可以使用+字符将变量添加到另一个变量:

string firstName = "John "; string lastName = "Doe"; string fullName = firstName + lastName; Console.WriteLine(fullName);

对于数值,+字符用作数学运算符 (请注意,此处使用int(integer) 变量):

int x = 5; int y = 6; Console.WriteLine(x + y); // 打印 x + y 的值

从上述示例中,您可以预期:

  • x存储值5
  • y存储值6
  • 然后我们使用WriteLine()方法来显示x+y的值,即11

声明多个变量

要声明同一类型的多个变量,请使用逗号分隔的列表:

int x = 5, y = 6, z = 50; Console.WriteLine(x + y + z);

C# 标识符

所有 C#variables变量必须用唯一的名称标识。

这些唯一的名称称为标识符。

标识符可以是短名称(如x和y)或更具描述性的名称(age、sum、totalVolume)。

注释:建议使用描述性名称来创建可理解和可维护的代码:

// Good int minutesPerHour = 60; // OK, 但并不那么容易理解 m 实际上是什么 int m = 60;

构造变量名称(唯一标识符)的一般规则如下:

  • 名称可以包含字母、数字和下划线
  • 名字必须以字母开头
  • 名称应以小写字母开头,并且不能包含空格
  • 名称区分大小写("myVar" 和 "myvar" 是不同的变量)
  • 保留字 (如 C# 关键字,intdouble) 不能用作名称

C# 数据类型

C# 数据类型

C# 中的变量必须是指定的数据类型:

int myNum = 5; // 整数(整数) double myDoubleNum = 5.99D; // 浮点数 char myLetter = 'D'; // 字符 bool myBool = true; // 布尔值 string myText = "Hello"; // 字符串

数据类型指定变量值的大小和类型。对相应的变量使用正确的数据类型是很重要的;为了避免错误,节省时间和内存,但它也会使代码更易于维护和可读。

最常见的数据类型有:

数据类型大小描述
int4 bytes存储整数,范围从 -2,147,483,648 到 2,147,483,647
long8 bytes存储整数,范围-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
float4 bytes存储小数。足以存储6至7位十进制数字
double8 bytes存储小数。足够存储15位小数
bool1 bit存储布尔真值或假值
char2 bytes存储单个字符/字母,用单引号括起来
string2 bytes per character存储字符串,用双引号括起来

数字类型分为两组:

整数类型存储整数正数或负数(如123或-456),不带小数。有效类型为intlong。应该使用哪种类型取决于数值。

浮点类型表示带有小数部分的数字,其中包含一个或多个小数。有效类型是floatdouble

尽管C#中有许多数字类型,但最常用的数字类型是int(表示整数)和double(表示浮点数)。

整数类型

Int

int数据类型可以存储从 -2147483648 到 2147483647。 一般创建带有数值的变量时,int数据类型是首选的数据类型。

int myNum = 100000; Console.WriteLine(myNum);

Long

long数据类型可以存储从 -9223372036854775808 到 9223372036854775807。 当int不够大,无法存储值时,使用此选项。 请注意,该值应以"L"结尾:

long myNum = 15000000000L; Console.WriteLine(myNum);

浮点类型

当需要小数点的数字时,应该使用浮点类型,例如9.99或3.14515。

Float

float浮点数据类型可以存储从 3.4e−038 到 3.4e+038的小数。请注意,该值应以"F"结尾:

float myNum = 5.75F; Console.WriteLine(myNum);

Double

double双精度数据类型可以存储 1.7e−308 至 1.7e+308。请注意,可以用"D"结束值(尽管不是必需的):

double myNum = 19.99D; Console.WriteLine(myNum);

使用float还是double?

浮点值的精度表示该值在小数点后可以有多少位数。浮点数的精度只有6或7位小数,而双变量的精度约为15位。因此,在大多数计算中使用double更安全。

科学数字

浮点数也可以是带"e"的科学数,表示10的幂:

float f1 = 35e3F; double d1 = 12E4D; Console.WriteLine(f1); Console.WriteLine(d1);

布尔数据类型

布尔数据类型是用bool关键字声明的,只能采用truefalse值:

实例

bool isCSharpFun = true; bool isFishTasty = false; Console.WriteLine(isCSharpFun); // 输出 True Console.WriteLine(isFishTasty); // 输出 False

布尔值主要用于条件测试,您将在后面的章节中了解更多。


字符数据类型

char字符数据类型用于存储单个字符。字符必须用单引号括起来,如"A"或"c":

char myGrade = 'B'; Console.WriteLine(myGrade);

字符串数据类型

string字符串数据类型用于存储字符序列(文本)。字符串值必须用双引号括起来:

string greeting = "Hello World"; Console.WriteLine(greeting);

C# 类型转换

C# 类型转换

类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。

在 C# 中,类型转换有两种形式:

  • 隐式类型转换(默认) - 将较小的类型转换为较大的类型大小,这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。
    char->int->long->float->double
  • 显式类型转换(强制类型转换)。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。
    double->float->long->int->char

隐式类型转换

将较小尺寸的类型传递给较大尺寸的类型时,会自动执行隐式转换:

实例

int myInt = 9; double myDouble = myInt; // 自动转换: int 到 double Console.WriteLine(myInt); // 输出 9 Console.WriteLine(myDouble); // 输出 9

显式类型转换

必须手动执行显式强制转换,方法是将类型放在值前面的括号中:

实例

double myDouble = 9.78; int myInt = (int) myDouble; // 手动转换:double 到 int Console.WriteLine(myDouble); // 输出 9.78 Console.WriteLine(myInt); // 输出 9

类型转换方法

还可以使用内置方法显式转换数据类型,例如Convert.ToBoolean,Convert.ToDouble,Convert.ToString,Convert.ToInt32(int) andConvert.ToInt64(long):

int myInt = 10; double myDouble = 5.25; bool myBool = true; Console.WriteLine(Convert.ToString(myInt)); // 将 int 转换为字符串 Console.WriteLine(Convert.ToDouble(myInt)); // 将 int 转换为 double Console.WriteLine(Convert.ToInt32(myDouble)); // 将 double 转换为 int Console.WriteLine(Convert.ToString(myBool)); // 将布尔转换为字符串

C# 用户输入

获取用户输入

你已经学会了Console.WriteLine()用于输出(打印)值。现在我们将使用Console.ReadLine()以获取用户输入。

在下面的示例中,用户可以输入他或她的用户名,该用户名存储在变量userName中。然后我们打印用户名userName的值:

// 输入您的用户名并按回车 Console.WriteLine("Enter username:"); // 创建一个字符串变量并从键盘获取用户输入并将其存储在变量中 string userName = Console.ReadLine(); // 打印变量(userName)的值,将显示输入值 Console.WriteLine("Username is: " + userName);

用户输入和数字

这个Console.ReadLine()方法返回字符串string。因此,无法从其他数据类型(如int)获取信息。以下程序将导致报错:

实例

Console.WriteLine("Enter your age:"); int age = Console.ReadLine(); Console.WriteLine("Your age is: " + age);

错误信息是这样的:

Cannot implicitly convert type 'string' to 'int'

正如错误消息所说,您不能隐式地将类型'string'转换为'int'。

幸运的是,刚刚从上一章(类型转换)中了解到,可以通过使用Convert.To方法:

实例

Console.WriteLine("Enter your age:"); int age = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Your age is: " + age);

注释:如果输入错误(例如数字输入中的文本),则会收到异常/错误消息(如System.FormatException: 'Input string was not in a correct format.')。

C# 运算符

C# 运算符

运算符用于对变量和值执行操作。

在下面的示例中,我们使用+运算符将两个值相加:

int x = 100 + 50;

+运算符通常用于将两个值相加,如上例所示,但它也可用于将变量和值相加,或将变量和另一个变量相加:

int sum1 = 100 + 50; // 150 (100 + 50) int sum2 = sum1 + 250; // 400 (150 + 250) int sum3 = sum2 + sum2; // 800 (400 + 400)

算术运算符

算术运算符用于执行常见的数学运算:

运算符名称描述实例
+加法将两个值相加x + y
-减法从一个值减去另一个值x - y
*乘法将两个值相乘x * y
/除法分子除以分母x / y
%取模取模运算符,整除后的余数x % y
++自增自增运算符,整数值增加 1x++
--自减自减运算符,整数值减少 1x--

C# 赋值运算符

赋值运算符用于为变量赋值。

在下面的示例中,我们使用赋值操作符(=)将值10分配给名为x的变量:

实例

int x = 10;

加法赋值运算符(+=)向变量添加一个值:

实例

int x = 10; x += 5;

所有赋值运算符的列表:

运算符实例等同于
=x = 5x = 5
+=x += 3x = x + 3
-=x -= 3x = x - 3
*=x *= 3x = x * 3
/=x /= 3x = x / 3
%=x %= 3x = x % 3
&=x &= 3x = x & 3
|=x |= 3x = x | 3
^=x ^= 3x = x ^ 3
>>=x >>= 3x = x >> 3
<<=x <<= 3x = x << 3

C# 关系运算符

关系运算符用于比较两个值:

运算符名称实例
==等于x == y
!=不等于x != y
>大于x > y
<小于x < y
>=大于或等于x >= y
<=小于或等于x <= y

C# 逻辑运算符

逻辑运算符用于确定变量或值之间的逻辑:

运算符名称描述实例
&&逻辑与 and称为逻辑与运算符。如果两个操作数都非零,则条件为真。x < 5 && x < 10
||逻辑或 or称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。x < 5 || x < 4
!逻辑非 not称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。!(x < 5 && x < 10)

C# 数学运算

Math.Max(x,y)

Math.Max(x,y)方法可用于查找x和y的最大值:

实例

Math.Max(5, 10);

Math.Min(x,y)

Math.Min(x,y)方法可用于查找x和y的最小值:

实例

Math.Min(5, 10);

Math.Sqrt(x)

Math.Sqrt(x)方法返回x的平方根:

实例

Math.Sqrt(64);

Math.Abs(x)

Math.Abs(x)方法返回x的绝对(正)值:

实例

Math.Abs(-4.7);

Math.Round()

Math.Round()将数字四舍五入到最接近的整数:

实例

Math.Round(9.99);

C# 字符串

C# 字符串

字符串用于存储文本。

一个string字符串变量包含由双引号括起的字符集合:

实例

创建string字符串类型的变量并为其赋值:

string greeting = "Hello";

字符串长度

C# 中的字符串实际上是一个对象,它包含可以对字符串执行某些操作的属性和方法。例如,可以使用Length属性找到字符串的长度:

实例

string txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; Console.WriteLine("The length of the txt string is: " + txt.Length);

其他字符串方法

有许多字符串方法可用,例如ToUpper()ToLower(),它们返回转换为大写或小写的字符串副本:

实例

string txt = "Hello World"; Console.WriteLine(txt.ToUpper()); // 输出 "HELLO WORLD" Console.WriteLine(txt.ToLower()); // 输出 "hello world"

字符串串联

可以在字符串之间使用+运算符来组合它们。这称为串联:

实例

string firstName = "John "; string lastName = "Doe"; string name = firstName + lastName; Console.WriteLine(name);

请注意,我们在"John"之后添加了一个空格,以便在打印时在firstName和lastName之间创建一个空格。

您也可以使用string.Concat()连接两个字符串的方法:

实例

string firstName = "John "; string lastName = "Doe"; string name = string.Concat(firstName, lastName); Console.WriteLine(name);

字符串插值

字符串连接的另一个选项是字符串插值,它将变量的值替换为字符串中的占位符。请注意,您不必担心空格,例如串联:

实例

string firstName = "John"; string lastName = "Doe"; string name = $"My full name is: {firstName} {lastName}"; Console.WriteLine(name);

还要注意,在使用字符串插值方法时,必须使用$符号

字符串插值是在C# version 6中引入的。


访问字符串

您可以通过引用方括号[]中的索引号来访问字符串中的字符。

此示例打印myString中的第一个字符:

实例

string myString = "Hello"; Console.WriteLine(myString[0]); // 输出 "H"

注释:字符串索引以0开头:[0]是第一个字符,[1] 是第二个字符等。

本实例打印 myString 中的第二个字符(1):

实例

string myString = "Hello"; Console.WriteLine(myString[1]); // 输出 "e"

你还可以使用IndexOf()方法查找字符串中特定字符的索引位置:

实例

string myString = "Hello"; Console.WriteLine(myString.IndexOf("e")); // 输出 "1"

另一个有用的方法是Substring(),它从字符串中提取字符,从指定的字符位置/索引开始,然后返回一个新字符串。 此方法通常与IndexOf()一起使用,以获取特定的字符位置:

实例

// 全名 string name = "John Doe"; // 字母 D 的位置 int charPos = name.IndexOf("D"); // 获取 lastName string lastName = name.Substring(charPos); // 打印结果 Console.WriteLine(lastName);

特殊字符

特殊字符必须写在引号内,否则C#会误解此字符串,并生成错误:

string txt = "We are the so-called "Vikings" from the north.";

避免此问题的解决方案是使用反斜杠转义字符。

反斜杠(\)转义字符将特殊字符转换为字符串:

转义符结果描述
\''单引号
\""双引号
\\\反斜杠

转义符\"在字符串中插入双引号:

实例

string txt = "We are the so-called \"Vikings\" from the north.";

转义符\'在字符串中插入一个反斜杠:

实例

string txt = "It\'s alright.";

\\在字符串中插入一个反斜杠:

实例

string txt = "The character \\ is called backslash.";

C# 中其他有用的转义符有:

代码结果
\nNew Line
\tTab
\bBackspace

添加数字和字符串

警告!

C# 使用 + 运算符进行加法和串联。

记住:数字相加,字符串联。

如果将两个数字相加,结果将是一个数字:

实例

int x = 10; int y = 20; int z = x + y; // z 将为 30(整数/数字)

如果将两个字符串相加,结果将是字符串串联:

实例

string x = "10"; string y = "20"; string z = x + y; // z 将是 1020(一个字符串)

如有侵联系删!!!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询