C#是一种面向对象的语言与c语言不同 C语言是面向过程的编程
C#运行于.NETFramework和.NETCore之上的高级语言
C#是由C和C++衍生而来的一种语言
在C#中不建议使用指针
什么叫面向对象
是一种编程范式,它将现实世界中的事物抽象为对象,并通过对象之间的交互来设计和构建软件系统。面向对象的核心思想是将数据和处理数据的方法结合在一起,形成一个对象。面向对象编程(Object-Oriented Programming,简称OOP)是实现面向对象概念的编程技术。
面向对象的主要特点包括:
-
封装(Encapsulation):将对象的数据(属性)和行为(方法)封装在一起,隐藏内部的实现细节,只通过公共接口与外部交互。
-
继承(Inheritance):允许新创建的类(子类)继承现有类(父类)的属性和方法,实现代码的复用和层次化。
-
多态(Polymorphism):允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。多态性可以通过方法重载(Overloading)和方法重写(Overriding)实现。
-
抽象(Abstraction):通过抽象类或接口,定义一组相关的操作,但不具体实现它们,让子类根据具体情况来实现这些操作。
面向对象编程的优势包括:
-
代码复用:通过继承和多态,可以减少代码的重复编写,提高开发效率。
-
模块化:每个对象都是独立的模块,易于管理和维护。
-
易于扩展:新功能可以通过添加新的对象或类来实现,而不影响现有的代码。
-
易于维护:封装和模块化使得代码更易于理解和维护。
什么是.NETFramework
.NET Framework 是一个由微软开发的软件开发平台,提供了一系列预设计的代码,用于常见程序任务。它是一个全面的、可扩展的平台,用于构建和运行 Windows 应用程序和网络服务。.NET Framework 包括以下主要组件:
-
公共语言运行时(CLR):CLR 是 .NET Framework 的核心,它是一个代码执行引擎,提供内存管理、异常处理、安全性、垃圾回收等服务。CLR 允许不同的编程语言共享 .NET Framework 提供的公共类型系统和运行时服务。
-
基类库(BCL):BCL 是一组丰富的类库,为开发者提供了大量的工具和功能,包括数据访问、用户界面、文件和网络操作等。BCL 支持多种编程语言,如 C#、VB.NET 和 F#。
-
ASP.NET:一个用于构建 Web 应用程序和网络服务的框架,提供了一系列工具和控件来简化 Web 应用程序的开发。
-
Windows 窗体(WinForms):用于构建 Windows 桌面应用程序的框架,提供了一系列控件和组件来创建图形用户界面(GUI)。
-
Windows Presentation Foundation (WPF):一个用于创建丰富客户端应用程序的 UI 框架,支持高级图形、动画、样式和数据绑定。
-
ADO.NET:提供数据访问功能,允许开发者与数据库交互。
-
Entity Framework:一个对象关系映射(ORM)框架,简化了数据库访问和数据模型的创建。
-
WCF(Windows Communication Foundation):用于构建服务导向的应用程序,支持多种通信协议。
-
WF(Windows Workflow Foundation):用于构建工作流应用程序的框架。
-
.NET 配置系统:提供应用程序配置和资源管理功能。
什么是.NET
为C#提供一个写代码的平台
错误列表
在错位列表中 可以查看错误的代码
解决方案就是一个大的文件夹 然后在他的下面有很多小的文件夹
注意 C#中严格区分大小写
C# 中的每一句话都是由一个分号结束 就算什么也不写 之直接用分号 也是一句话 ;
注意 在C#中 文件名可以和类名不一样
变量的声明 不能用关键字
C#中的注释
-
单行注释用//
-
多行注释用/* */
单行注释的快捷键
ctrl+k 再加上 ctrl+C 用来注释
ctrl+k 再加上 CTRL+U 用来取消注释
文档注释 ///
文档注释 可以注释方法 还可以注释类
文档注释方法的时候 在调用方法的时候给提示
浮点型 包含小数和整数类型
如果赋值一个小数 不见任何后缀 系统默认为double类型
在变量 s=null 和变量 s="" 有什么区别 等于null是什么也没有放 等于""时 放了内容 只不过内容为空
C#中的位或和位与
在C#编程语言中,|
和 &
是两个不同的位运算符,它们分别代表按位或(bitwise OR)和按位与(bitwise AND)。下面是这两个运算符的区别:
-
按位或(Bitwise OR) - |
-
当使用
|
运算符时,它会对两个数的每个位进行比较。如果两个相应的位中至少有一个为1,则结果位就设置为1。 -
例如,
5 | 3
的二进制表示分别为101
和011
,进行按位或操作后,结果为111
,即十进制的7。
-
-
按位与(Bitwise AND) - &
-
当使用
&
运算符时,它同样会对两个数的每个位进行比较。只有当两个相应的位都是1时,结果位才设置为1。 -
例如,
5 & 3
的二进制表示分别为101
和011
,进行按位与操作后,结果为001
,即十进制的1。
-
这里是一个简单的例子,展示这两个运算符的用法:
int a = 5; // 二进制表示: 0101 int b = 3; // 二进制表示: 0011 int orResult = a | b; // 结果: 7, 二进制表示: 0111 int andResult = a & b; // 结果: 1, 二进制表示: 0001
关于switch语句的写法
int a = 3; switch (a) { case 1: Console.WriteLine("1"); break; case 2: Console.WriteLine("2"); break; case 3: Console.WriteLine("3"); break; case 4: Console.WriteLine("4"); break; }