零、前言:
本人按照哔哩哔哩up主唐老狮进行学习,所使用的ide为Visual Studio 2022。
如下述内容在数据或逻辑上存在偏差,请您给予指正。
一、创建第一个C#程序:
当然是hello world了!代码如下:
using System;//导入 System 命名空间
class Program//定义了一个名为 Program 的类
{
static void Main()//程序的入口点。
{
Console.WriteLine("Hello, World!");
Console.ReadLine();
}
}//1-1
嗯,这就是最简单的一个程序。
二、输入输出函数:
以最基础的Console类为例:
①Console.WriteLine()和Console.Write()
两者都用于输出,
Console.WriteLine(): 用于将文本输出到控制台并在末尾添加一个换行符。
Console.Write():与Console.WriteLine() 类似,但不会在末尾添加换行符。
举个例子:
using System;
class Program
{
static void Main()
{
Console.Write("hello");
Console.WriteLine("world");
Console.Write("!");
}
}//2-1
但是运行之后,程序立即结束了!因为当程序执行完所有语句后,程序会自动终止。而在这个例子中,由于没有其他代码阻止程序终止,程序会在输出完 "hello", "world", "!" 之后立即结束。
如果想要看到我们预期看到的结果,还需要引入一个新的函数——
②Console.ReadLine()
这个函数用于读取用户输入的一行文本并储存于变量中,但是,为了让程序暂停,可以使用 Console.ReadLine()来等待用户输入一行文本,以看到我们程序的结果。
在代码2-1中,我们加入了Console.ReadLine()后,终于得到了我们想要的结果:

③Console.ReadKey()
与Console.ReadLine()作用相似,也会暂停程序的执行,等待用户按下键盘上的一个键。在程序暂停下,Console.ReadKey()只等待用户按下一个键,用户按下键后程序立即继续。而Console.ReadLine() 会一直等待用户输入一行文本并按下回车键。
三、变量:
变量声明指定了变量的类型和名称,变量名称必须遵循 C# 的命名规则,通常以字母或下划线开头,后续可以包含字母、数字或下划线。
变量的类型大致有以下四种:
①有符号整型变量
sbyte:8位有符号整数,范围是 -128 ~ 127;
short: 16 位有符号整数,范围是 -32768 ~ 32767;
int:32 位有符号整数,范围是 -2^31 ~ 2^31 - 1;
long:64 位有符号整数,范围是 -2^63 ~ 2^63 - 1;
②无符号整型变量
byte: 8 位无符号整数,范围是 0 ~ 255;
ushort:16位无符号整数,范围是 0 ~ 65535;
uint:32位无符号整数,范围是 0 ~ 2^32 - 1;
ulong:64位无符号整数,范围是0 ~ 2^64 - 1;
③浮点数
即小数,存储一定容量的有效数字,超过有效数字的,进行四舍五入并舍弃。
float:存储大约7位有效数字;
和cpp不太一样,float型的变量初始化需要在数字后面加一个“f”,比如3.14f,0.1234f。
double:存储大约15位有效数字;
decimal:存储大约27位有效数字。
④特殊类型
bool:布尔数,只存储true和false两个值;
char:字符类型,存储单个字符;
string:字符串类型,存储多个字符;
四、变量的本质
①变量的存储空间
使用sizeof(变量类型)可以得到该类型的存储空间大小(单位为字节),以下面代码为例:
using System;
class Program
{
static void Main()
{
// 整数类型
Console.WriteLine("byte 所占字节数: " + sizeof(byte));
Console.WriteLine("sbyte 所占字节数: " + sizeof(sbyte));
Console.WriteLine("short 所占字节数: " + sizeof(short));
Console.WriteLine("ushort 所占字节数: " + sizeof(ushort));
Console.WriteLine("int 所占字节数: " + sizeof(int));
Console.WriteLine("uint 所占字节数: " + sizeof(uint));
Console.WriteLine("long 所占字节数: " + sizeof(long));
Console.WriteLine("ulong 所占字节数: " + sizeof(ulong));
// 浮点类型
Console.WriteLine("float 所占字节数: " + sizeof(float));
Console.WriteLine("double 所占字节数: " + sizeof(double));
Console.WriteLine("decimal 所占字节数: " + sizeof(decimal));
// 字符类型
Console.WriteLine("char 所占字节数: " + sizeof(char));
// 布尔类型
Console.WriteLine("bool 所占字节数: " + sizeof(bool));
Console.ReadKey();
}
}//4-1
运行之后,我们看到结果:

为什么没有string类型的呢?因为string类型储存的字符串长度可变无上限。
②变量的本质
计算机在底层存储和处理数据是基于二进制的。从计算机存储的最终形式看,变量的值确实是以二进制的形式存储在内存中的。
五、变量的命名规范
不能重名;
必须以字母、下划线_或@符号开头,后续可以包含字母、数字、下划线;
不能包含空格或其他特殊字符;
不能使用程序关键字命名。
常用命名规则:
①驼峰命名法:
第一个单词的首字母小写,后续单词的首字母大写,比如string myName="奶龙";
②帕斯卡命名法:
所有单词首字母大写,比如:char MyGender='m'。
六、常量
常量的申明固定写法为:const 变量类型 变量名 = 初始值;
比如const int a = 2;
常量的特点:1、必须初始化;2、不能被修改
作用:申明一些常用而不变的变量。比如计算多个圆面积,我们可以声明 const float PAI=3.14f,大大简化我们代码。
七、转义字符
转义字符是一些特殊的字符序列,用于表示难以直接输入或具有特殊含义的字符。比如在字符串中表现单双引号,空行等。
固定写法:\字符。
一些转义字符:
换行:\n;
斜杆:\\;
制表符:\t;
光标退格:\b;
警报音:\a;
怎么取消转义字符呢?使用 @ 符号作为前缀,它会将字符串中的转义字符当作普通字符处理。
八、类型转换
类型转换就是不同变量类型之间相互转换,分为两种转换:
①隐式转换
基本规则:不同类型之间自动转换,大范围装小范围。因为,大范围数据类型转换为小范围数据类型时可能导致数据丢失或溢出。
比如:
int n1 = 1;
double n2 = n1;
n1值赋给n2,发生了隐式类型转换,因为int类型的值可以安全地转换为double类型(double类型精度更高)。当n1的值被赋给n2时,n1的整数值 1 会被转换为double类型的值 1.0,并存储在为n2中。
②显式转换
依旧遵循大范围装小范围的规则,有两种方法。
方法一:括号强转:
顾名思义,通过在要转换的值或变量前面加上目标数据类型的括号来实现强制转换变量类型。
语法:变量类型 变量名 = (变量类型)变量名
例如:int i=(int)1.6f,转换过程中舍去了小数点后的数字,结果i=1。
方法二:Parse:
用于将字符串类型转换为能够转换的对应类型。
语法:变量类型.Parse("字符串")
例如:int i=int.Parse("123");这样,通过转换之后我们使得i=123。
方法三:Convert:
更精确地进行类型转换。
语法:Convert.To目标类型(常量或变量)
例如:int i=Convert.ToInt32("123");通过转换之后我们仍然使得i=123。
九、字符串拼接
聪明的你一定发现我跳了一些内容,我觉得那些太过于基础了(对于先学过其他编程语言而言)
c#的字符串拼接很有意思,通过“+”就可以了。
以下面代码为例:
using System;
class Program
{
static void Main()
{
string str1 = "123";
string str2 = str1 + "456";
Console.WriteLine(str2);
Console.ReadKey();
}
}
通过“+”拼接str1和“123”,我们使得str2变成了"123456"
还有一种方法,使用string Format(),
语法:string.Format(“待拼接的内容”,内容1,内容2...内容n),
其中带拼接的内容使用占位符代替{数字}(从0依次到n)
比如:
using System;
class Program
{
static void Main()
{
string str = string.Format("{0}加{1}等于{2}", "一", "一", "二");
Console.WriteLine(str);
Console.ReadKey();
}
}
我们输出了一加一等于二这个结果。
十、后记
此篇笔记一开始作于11月份,已被我耽搁很久。
我是从C语言过来学的,因而那些循环、条件语句都已经会了,因而直接跳过了。
后面翻了下基础篇,数组、结构体、那几个简单的排序算法也掌握了,以现在的程度,已经可以开始学习核心篇。
唉,草草结尾吧,开始核心篇的学习吧。
嗯,就这样吧。
589



被折叠的 条评论
为什么被折叠?



