C#基础知识
大家好,我是行不更名,坐不改姓的宋晓刚,下面将带领大家进入C#编程基础入门知识,如何创建项目,如何编写代码,跟上我的步伐进入.Net下C#的世界。
家人们,如果有什么不懂,可以留言,或者加我联系方式,一起进入微软技术的开拓。
- 微信:15319589104
- QQ: 2981345658
C#概念
C#语言,特点:
- C#是微软公司发布的一种面向对象、运行于.Net Framework和.Net Core 之上的高级程序语言。
- 是一种安全的、稳定的、简单的、通用的语言,派生于C和C++,继承了它们的功能,但又去掉了一些复杂的特性。
- 功能:属性、事件、委托、泛型、多线程、linq、Lambda、特性等。。。
.Net和C#的关系:Net是平台,C#是.Net平台之上的主流开发语言。
开发工具以及安装
开发工具:Visual Studio 2017 、2019、2022
Visual Studio 2022 简称:VS,是美国微软公司开发的,用于编写.Net程序最常用的开发工具,它是一个基本完整的开发工具。
Vs软件下载与安装(在线安装):
下载:到微软官网下载:https://visualstudio.microsoft.com/zh-hans/downloads/ 选择下载
需要的版本(选择下载试用)
安装:运行exe,选择自己所需要的工具集,安装。
开发工具的安装:
创建项目:
C#类文件结构
关键词 using namespace public class static void
类:一个类包含一个或多个方法、属性、变量等
程序集:命名空间 namespace 名称空间
方法:定义了类的行为
方法体:方法的具体代码
Main:程序的入口点,如控制台、
C#基础语法
关键字:有特殊意义的预定义保留标识符,代码中以蓝色标识的单词。它们不能在程序中用作标识符,除非它们有一个 @ 前缀
注释方式:解释,不需要的代码注释,
行注释 以//注释
块注释 以/* */
文档注释 ///
int 声明整型变量 int a=12; //设置a的值为12
数据类型
数据类型:
变量: 存储数据的容器,在C#中,每个变量都有一个特定类型,不同类型的占有的内存大小也不尽相同
数据类型分为:值类型,引用类型,指针类型
机泵类型分为以下:
整型:byte int short long
byte的范围 0-255
short 的范围 -32768 ---32767 16位有符号整数 2
int 的范围 -2147483648 -- 2147483647 32位 4字节
long 的范围 -9*10^18 --- 9*10^18 64位 8
浮点型:float -3.4 x 10^38 ~ + 3.4 x 10^38 32位单精度 有精度损耗 0.0F
double +/-)5.0 x 10^-324 ~ (+/-)1.7 x 10^308 双精度 64位 0.0D
十进制: decimal(精确) (-7.9 x 10^28 到 7.9 x 10^28) / 10 ^0 到 28 128位 无损耗 0.0M
布尔类型 bool true false
字符类型 char 'a' 只能包含一个字符 ‘\0’
可空类型 Nullable<T> 基础值类型正常范围内的值,再加上一个 null 值。
枚举 enum 一组命名整型常量。用 enum 关键字声明的。 值类型
结构体 struct 值类型数据结构 单一变量---存储各种数据类型的相关数据
结构体Struct
struct 关键字:
- 结构可带有方法、字段、索引、属性、方法和事件。
- 结构可定义(有参数)构造函数,但不能定义析构函数。
- 与类不同,结构不能继承其他的结构或类。
- 结构可实现一个或多个接口。
- 结构成员不能指定为 abstract、virtual 或 protected。
struct Dxx //结构体
{
public Dxx(int a , int b) //构造函数名字必循要和结构体名字保持一致
{
a = 10;
b = 20;
}
}
动态类型 dynamic
任何类型的值都可以存储在动态数据类型变量中。这些变量的类型检查是在运行时发生的。
语法:
dynamic qwddx = 10; //声明一个动态类型
qwddx = 20; //可以任意复制
qwddx = 30;
Console.WriteLine(qwddx); //最后运行结果为30
字符串类型 string
字符串类型:允许您给变量分配任何字符串值。
语法:
string b = "whoami";
类型转换
将一种数据类型的值转换为另一种数据类型的过程将一种数据类型的值转换为另一种数据类型的过程C#中的类型转换可以分为两种:隐式转换和显式转换。
1.隐式转换
隐式转换是指将一种数据类型的值转换为另一种数据类型的过程,而不会导致数据丢失。 隐式转换通常是由较小的数据类型转换为较大的数据类型,例如:
int i = 10;
double d = i;
int
类型的变量i
隐式转换为了double
类型的变量d
。这是安全的,因为double
类型可以表示任何int
类型的值,并不会导致数据损失。
2.显示转换
显示转换是指将一种数据类型的值显式地转换为另一种数据类型的过程。 显示转换通常是由较大的数据类型转换为较小的数据类型,例如:
double d = 10.5;
int i = (int)d;
double
类型的变量d
显式转换为了int
类型的变量i
。由于int
类型不能表示所有的double
类型的值,因此这种类型转换可能导致数据丢失。需要注意的是,如果转换会导致数据丢失,则必须使用显式转换,并在转换之前进行正确的判断和检查。
变量
变量:会发生变化的数据
定义语法:数据类型 变量名(如果是多个,以逗号分隔开的标识符名称),可在定义时进行初始化
int a = 10; //定义变量赋值
int b = 20;
int q,w; //声明
q = 1; //赋值
w = 2;
常量
常量是固定值,程序执行期间不回变,它可以是任何基本数据类型
常量可以被当作常规变量,只是值在定义后不能修改。
//定义一个常量
const int a = 1; //定义常量
const int a1 = 2;
a1 = a + 1; //如果在需要改变值的时候,可以在声明一个常量,进行加减
表达式,变量作用域
表达式
在C#中,表达式是由操作数和运算符组成的语句,其返回一个值,C#中的运算符包括算数运算符,位运算符,关系运算符,逻辑运算符,在进行操作时,需注意运算符的优先级和结合性。
- 算术运算符
运算符 | 描述 | 示例 |
---|---|---|
+ | 加 | x + y |
- | 减 | x - y |
* | 乘 | x * y |
/ | 除 | x / y |
% | 取余 | x % y |
++ | 前置或后置自增运算符 | ++x、x++ |
2.位运算符
运算符 | 描述 | 示例 |
---|---|---|
& | 按位与 | x & y |
| | 按位或 | x | y |
^ | 按位异或 | x ^ y |
~ | 按位翻转 | ~x |
<< | 左移 | x << y |
>> | 右移 | x >> y |
3.关系运算符
运算符 | 描述 | 示例 |
---|---|---|
== | 相等于 | x == y |
!= | 不等于 | x != y |
> | 大于 | x > y |
< | 小于 | x < y |
>= | 大于等于 | x >= y |
<= | 小于等于 | x <= y |
4.逻辑运算符
运算符 | 描述 | 示例 |
---|---|---|
&& | 与 | x && y |
|| | 或 | x || y |
! | 非 | !x |
- 赋值运算符
运算符 | 描述 | 示例 |
---|---|---|
= | 简单赋值 | x = y |
+= | 加后赋值 | x += |