什么是C#

C#是一种面向对象的语言与c语言不同 C语言是面向过程的编程

C#运行于.NETFramework和.NETCore之上的高级语言

C#是由C和C++衍生而来的一种语言

在C#中不建议使用指针

什么叫面向对象

是一种编程范式,它将现实世界中的事物抽象为对象,并通过对象之间的交互来设计和构建软件系统。面向对象的核心思想是将数据和处理数据的方法结合在一起,形成一个对象。面向对象编程(Object-Oriented Programming,简称OOP)是实现面向对象概念的编程技术。

面向对象的主要特点包括:

  1. 封装(Encapsulation):将对象的数据(属性)和行为(方法)封装在一起,隐藏内部的实现细节,只通过公共接口与外部交互。

  2. 继承(Inheritance):允许新创建的类(子类)继承现有类(父类)的属性和方法,实现代码的复用和层次化。

  3. 多态(Polymorphism):允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。多态性可以通过方法重载(Overloading)和方法重写(Overriding)实现。

  4. 抽象(Abstraction):通过抽象类或接口,定义一组相关的操作,但不具体实现它们,让子类根据具体情况来实现这些操作。

面向对象编程的优势包括:

  • 代码复用:通过继承和多态,可以减少代码的重复编写,提高开发效率。

  • 模块化:每个对象都是独立的模块,易于管理和维护。

  • 易于扩展:新功能可以通过添加新的对象或类来实现,而不影响现有的代码。

  • 易于维护:封装和模块化使得代码更易于理解和维护。

什么是.NETFramework

.NET Framework 是一个由微软开发的软件开发平台,提供了一系列预设计的代码,用于常见程序任务。它是一个全面的、可扩展的平台,用于构建和运行 Windows 应用程序和网络服务。.NET Framework 包括以下主要组件:

  1. 公共语言运行时(CLR):CLR 是 .NET Framework 的核心,它是一个代码执行引擎,提供内存管理、异常处理、安全性、垃圾回收等服务。CLR 允许不同的编程语言共享 .NET Framework 提供的公共类型系统和运行时服务。

  2. 基类库(BCL):BCL 是一组丰富的类库,为开发者提供了大量的工具和功能,包括数据访问、用户界面、文件和网络操作等。BCL 支持多种编程语言,如 C#、VB.NET 和 F#。

  3. ASP.NET:一个用于构建 Web 应用程序和网络服务的框架,提供了一系列工具和控件来简化 Web 应用程序的开发。

  4. Windows 窗体(WinForms):用于构建 Windows 桌面应用程序的框架,提供了一系列控件和组件来创建图形用户界面(GUI)。

  5. Windows Presentation Foundation (WPF):一个用于创建丰富客户端应用程序的 UI 框架,支持高级图形、动画、样式和数据绑定。

  6. ADO.NET:提供数据访问功能,允许开发者与数据库交互。

  7. Entity Framework:一个对象关系映射(ORM)框架,简化了数据库访问和数据模型的创建。

  8. WCF(Windows Communication Foundation):用于构建服务导向的应用程序,支持多种通信协议。

  9. WF(Windows Workflow Foundation):用于构建工作流应用程序的框架。

  10. .NET 配置系统:提供应用程序配置和资源管理功能。

什么是.NET

为C#提供一个写代码的平台

错误列表

在错位列表中 可以查看错误的代码

解决方案就是一个大的文件夹 然后在他的下面有很多小的文件夹

注意 C#中严格区分大小写

C# 中的每一句话都是由一个分号结束 就算什么也不写 之直接用分号 也是一句话 ;

注意 在C#中 文件名可以和类名不一样

变量的声明 不能用关键字

C#中的注释

  1. 单行注释用//

  2. 多行注释用/* */

单行注释的快捷键

ctrl+k 再加上 ctrl+C 用来注释

ctrl+k 再加上 CTRL+U 用来取消注释

文档注释 ///

文档注释 可以注释方法 还可以注释类

文档注释方法的时候 在调用方法的时候给提示

浮点型 包含小数和整数类型

如果赋值一个小数 不见任何后缀 系统默认为double类型

在变量 s=null 和变量 s="" 有什么区别 等于null是什么也没有放 等于""时 放了内容 只不过内容为空

C#中的位或和位与

在C#编程语言中,|& 是两个不同的位运算符,它们分别代表按位或(bitwise OR)和按位与(bitwise AND)。下面是这两个运算符的区别:

  1. 按位或(Bitwise OR) - |

    • 当使用 | 运算符时,它会对两个数的每个位进行比较。如果两个相应的位中至少有一个为1,则结果位就设置为1。

    • 例如,5 | 3 的二进制表示分别为 101011,进行按位或操作后,结果为 111,即十进制的7。

  2. 按位与(Bitwise AND) - &

    • 当使用 & 运算符时,它同样会对两个数的每个位进行比较。只有当两个相应的位都是1时,结果位才设置为1。

    • 例如,5 & 3 的二进制表示分别为 101011,进行按位与操作后,结果为 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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/785766.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习的数学PDF

链接: https://pan.baidu.com/s/1_jScZ7dcyAWGqbrad6bbCQ?pwd9gj9 提取码: 9gj9 复制这段内容后打开百度网盘手机App,操作更方便哦

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验17 开放最短路径优先OSPF

一、实验目的 1.验证OSPF协议的作用; 二、实验要求 1.使用Cisco Packet Tracer仿真平台; 2.观看B站湖科大教书匠仿真实验视频,完成对应实验。 三、实验内容 1.构建网络拓扑; 2.验证OSPF协议的作用。 四、实验步骤 1.构建网…

SpringCloud跨微服务的远程调用,如何发起网络请求,RestTemplate

在我们的业务流程之中不一定都会是自己模块查询自己模块的信息,有些时候就需要去结合其他模块的信息来进行一些查询完成相应的业务流程,但是在SpringCloud每个模块都相对独立,数据库也有数据隔离。所以当我们需要其他微服务模块的信息的时候&…

NuGet 中国国内镜像

有时候网络不好,需要使用国内的一些镜像源。 华为资源: https://repo.huaweicloud.com/repository/nuget/v3/index.json 腾讯资源: https://mirrors.cloud.tencent.com/nuget/ 微软中国镜像源:https://nuget.cdn.azure.cn/v3…

BIOTIN-Gly-Asp-Gly-Asp-Glu-Val-Asp-Gly-Cys 生物素标记多肽

BIOTIN-Gly-Asp-Gly-Asp-Glu-Val-Asp-Gly-Cys 生物素标记多肽 生物素标记多肽的特点 高亲和力结合:生物素与链霉亲和素(streptavidin)或抗生物素蛋白(avidin)之间的结合是生物学上已知的最强的非共价相互作用之一。这种…

大模型知识大全2-资源【大模型】

文章目录 可用的模型部分模型的训练规模和数据常用数据集外文中文书籍和论文百科数据代码混合数据集微调数据集对齐数据集 可用的模型 仅记录中文可用的表现较优的模型LLaMA、LLaMA2、LLaMA3(规模在7,13,30,65左右,需要搭配ChineseLLaMA的LoRA权重使用&…

Mybatis操作和动态SQL

Mybatis操作 准备 准备数据库表 emp 创建一个新的 springboot 工程,选择引入对应的起步依赖( mybatis 、 mysql 驱动、 lombok ) application.properties 中引入数据库连接信息 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driv…

关于Linux的操作作业!24道题

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

文章SameStr(四):图4代码

“Publication Figure 4” 百度云盘链接: https://pan.baidu.com/s/15g7caZp354zIWktpnWzWhQ 提取码: 4sh7 Libraries Standard Import library(tidyverse) library(cowplot) library(scales) library(ggpubr)Special library(caret) library(plotROC) library(tidymodel…

To美术-渲染管线及优化方向(CPU方向)

一、CPU与GPU 1、CPU与GPU的区别 橙黄色:控制单元   橙红色:存储单元  绿色:计算单元 CPU:结构组成复杂、控制逻辑丰富,计算量小,适合复杂运算 GPU:结构组成简单,核心数量多,计…

jmeter-beanshell学习5-beanshell加减乘除运算

我用到的场景是计算金额,所以主要以金额为主,感觉这部分有点麻烦,直接写遇到的几个坑,就不演示解决的过程了。 1.最早写了个两数相减,但是小数精度容易出现问题。比如1-0.010.989999997这种情况,随便写的几…

Windows 电脑查看 WiFi 密码的方法都有哪些?

从设置面板中查看 当你使用的是笔记本电脑并且连接 WiFi 之后可以在设置面板中查看 WiFi 密码,首先打开设置界面,然后点击网络和 Internet,找到 WiFi 之后点击进入,然后点击管理已知网络。 然后点击已经连接好的无线网络。 进入之…

前端Din字体和造字工房力黑字体文件

Din 字体是一种经典的、简洁的无衬线字体,它源自1930年代的德国交通标志设计。 造字工房力黑字体适用于数字,驾驶舱标题等统计界面 DIN-Medium.otf 案例 造字工房力黑.TTF 案例

最新综述:多模态引导的基于文生图大模型的图像编辑算法

文章目录 综述亮点1. 图像编辑任务的范围2. 一般性编辑算法的统一框架3. 统一框架在多模态编辑任务中的应用4. 不同组合在文本引导编辑场景下的比较5. 未来研究方向 近期,复旦大学 FVL 实验室和南洋理工大学的研究人员对于多模态引导的基于文生图(Text-t…

nvidia driver和cuda版本较低,ubuntu系统更新nvidia驱动的方法(对于小白最快最最保险的方法)

问题描述: 系统:ubuntu22.04LTS 这两天安装另一个低版本的pytorch环境,提示我的cuda版本很旧,然后运行程序时候甚至直接报错,如下所示: .local/lib/python3.10/site-packages/torch/cuda/__init__.py&quo…

DBA 数据库管理 部署Mysql 服务,基础查询

数据库:存储数据的仓库 数据库服务软件: 关系型数据库: 存在硬盘 ,制作表格的 数据库的参数 [rootmysql50 ~]# cat /etc/my.cnf.d/mysql-server.cnf 主配置文件 [mysqld] datadir/var/lib/mysql 存放数据库目录…

渲染引擎实践 - OSG引擎窗口创建过程分析(未完待续)

一:概述 一个3D应用程序,要想显示渲染结果,首先要创建一个窗口,本节就分析下OSG源码中窗口创建的过程。 二: OSG中的窗口类介绍 以GraphicsWindowX11为例,在Linux上用这个窗口类,Windows上用GraphicsWindo…

新版Android Studio中设置gradle的JDK版本

旧版android studio 在旧版(具体哪个版本号之前搞不清了)中设置JDK版本在>File——>Project Structure——>SDK location——>Gradle Setting——>Gradle SDK 新版android studio 某次更新后发现SDK location下找不到Gradle Setting选项…

SpringBoot源码阅读(5)——AnnotationAwareOrderComparator排序

SpringBoot中工厂类加载器加载的实现类通常有多个,这些类通常会排序后放入集合 AnnotationAwareOrderComparator是常用的比较器 AnnotationAwareOrderComparator 父类:OrderComparator 接口:Comparator 相关方法 public static void sort(…

智能汽车网络安全笔记

汽车五大域 动力底盘、车身控制、智能座舱、智能网联和高级辅助驾驶五大域 国外汽车安全法规标准 汽车网络安全管理体系(CSMS) CSMS指的是管理汽车的网络威胁和风险,并保护车辆免受网络攻击的组织过程和管理系统 安全验证和安全测试 8…