C#面试十问
- 1:C#中变量类型分为哪两种?它们的区别是什么?
- 2:Class和Struct的区别?
- 3:C#中类的修饰符和类成员的修饰符有哪些?
- 4:面向对象的三个特征(特点)是什么?
- 5:面向对象和面向过程的区别?
- 6:什么是装箱和拆箱?
- 7:什么是IOC?
- 8:什么是OOP?
- 9:什么是AOP?
- 10:什么是DI?
1:C#中变量类型分为哪两种?它们的区别是什么?
- C#中的变量类型可以分为值类型和引用类型。
值类型可以存储其实际的值,如整数、浮点数、布尔值等。
引用类型存储的是对象的引用,而不是实际的值。
值类型和引用类型的主要区别在于它们在内存中存储和访问数据的方式。值类型存储在栈上,而引用类型的对象存储在堆上
2:Class和Struct的区别?
struct 是值类型
,而class 是引用类型
。这意味着在使用 struct 时,实际上是在使用它的副本,而在使用 class 时,实际上是在使用它的引用。- struct 不能继承其他类型,而 class 可以继承其他类型。
- struct 默认有一个无参构造函数,但是
class 没有默认无参构造函数
。 - struct 适用于小型、简单的数据类型,而 class 更适用于大型、复杂的数据类型。
3:C#中类的修饰符和类成员的修饰符有哪些?
在C#中,类的修饰符可以分为以下几种:
- public:表示类对外公开,可以从任何地方访问。
- internal:表示类只能在当前程序集内访问,不能跨程序集访问。
- protected:表示类只能在当前类和子类中访问。
- private:表示类只能在当前类内部访问。
类成员的修饰符包括:
- public:表示成员对外公开,可以从任何地方访问。
- internal:表示成员只能在当前程序集内访问,不能跨程序集访问。
- protected:表示成员只能在当前类和子类中访问。
- private:表示成员只能在当前类内部访问。
- static:表示成员属于类型本身,而不是实例。可以通过类名直接访问,无需创建对象。
- sealed:表示成员或类是密封的,不能被继承或重写。
- abstract:表示成员或类是抽象的,只能在抽象类中定义,并且要求子类实现或重写该成员。
- virtual:表示成员可以被子类重写,允许在子类中进行自定义实现。
- override:表示成员在派生类中重写基类的实现。
- readonly:表示成员只能在声明时或构造函数中初始化,并且不能再被修改
- new:只能用于嵌套的类,表示对继承父类同名类型的隐藏.
- const:表示该成员为常量,值在编译时确定并且不能再修改。
4:面向对象的三个特征(特点)是什么?
OOP
- 封装(Encapsulation):封装是将数据和操作数据的方法封装在一起,形成一个类。通过封装,我们可以隐藏实现的细节,只暴露出对外提供的接口。这样做的好处是提高了代码的可维护性和复用性,并且可以控制对数据的访问权限。
- 继承(Inheritance):继承是指一个类可以从另一个类中派生出来,并且继承了父类的属性和方法。通过继承,子类可以直接使用父类的功能,并且可以根据需要进行扩展或修改。继承可以提高代码的重用性、可扩展性和可维护性。
- 多态(Polymorphism):多态是指一个对象可以表现出多种形态。在面向对象编程中,多态可以通过继承和接口实现。多态性可以提高代码的灵活性和可扩展性。通过多态,可以在不改变原有代码的情况下,方便地增加新的功能。
这三个特征是面向对象编程的核心概念,它们使得代码更加灵活、可维护和可扩展。通过封装、继承和多态,能够更好地组织和管理代码,提高开发效率和代码质量。
5:面向对象和面向过程的区别?
C#面向对象编程(OOP)和面向过程编程(POP)是两种不同的编程范式,其主要区别在于以下几个方面:
- 抽象程度:
面向对象编程更加抽象和模块化
,将程序组织成由对象组成的类层次结构。每个对象都有自己的属性和方法,并且可以通过消息传递进行交互。而面向过程编程更加注重步骤和流程
,将程序组织成一系列的函数或过程。 - 数据和行为的关联:
面向对象编程将数据和操作数据的方法封装在一起形成对象
,通过对象的方法来操作数据。而面向过程编程将数据和操作数据的函数分离开来
,通过参数传递数据给函数进行操作。 - 继承和多态:
面向对象编程支持继承和多态
,可以通过继承来扩展已有的类,并且可以通过多态来实现动态绑定。而面向过程编程没有继承和多态的概念
,函数之间的调用是静态的。 - 可重用性和可扩展性:
面向对象编程通过封装、继承和多态实现了代码的重用性和可扩展性
,可以通过继承和多态来扩展已有的类并且重写父类的方法。而面向过程编程较为复杂,需要在函数中手动管理数据和流程
,代码的重用性和可扩展性较低。
总的来说,面向对象编程更加注重对问题进行抽象和建模,通过封装、继承和多态实现代码的重用性和可扩展性;而面向过程编程更加注重步骤和流程,将问题分解成一系列的函数或过程。选择使用哪种编程范式取决于具体的需求和问题的特点。
6:什么是装箱和拆箱?
- 装箱(Boxing):将值类型(Value Type)转换为引用类型(Reference Type)。
- 拆箱(Unboxing):将引用类型转换为值类型的过程。
装箱是指将值类型的数据封装为一个对象,在堆上创建一个引用类型的实例,并将值类型的值复制到该实例中。装箱操作会导致数据从栈上复制到堆上,增加了额外的开销。
拆箱是指将装箱后的对象重新还原为值类型数据。它是通过将堆上的对象拷贝到栈上来完成的,同时将其转换为相应的值类型。拆箱操作也会增加额外的开销。
装箱和拆箱常用于值类型和引用类型之间的转换,例如将值类型存储到集合类(如ArrayList)中,或者从集合类中获取值类型数据。在进行装箱和拆箱操作时,需要注意性能问题,因为装箱和拆箱操作会产生额外的开销和内存分配。
为了避免装箱和拆箱带来的性能损耗,可以使用泛型集合类(如List)或者适当地设计代码结构,以避免不必要的装箱和拆箱操作。
7:什么是IOC?
在C#中,IOC代表控制反转(Inversion of Control)。IOC是一种软件设计原则,它通过将对象的创建、依赖解析和管理交给容器来实现。传统的编程模式中,对象之间的依赖关系由对象自己负责创建和管理,而在IOC中,这种依赖关系的控制权被反转,交由容器来负责。
IOC的核心思想是将应用程序的控制权从具体的实现类中解耦出来,通过将对象的依赖关系外部化到配置文件或者代码中,实现了组件之间的松耦合。这样一来,可以很容易地替换、扩展或者重用组件,提高了代码的可维护性和可测试性。
在C#中,常见的IOC容器有多种选择,例如:
- Unity:Unity是一个流行的开源IOC容器框架,它提供了依赖注入(Dependency Injection)的功能,并且支持构造函数注入、属性注入和方法注入等方式。
- Autofac:Autofac是另一个常用的IOC容器框架,它提供了强大的依赖注入功能,支持构造函数注入、属性注入、方法注入和模块化配置等。
- Ninject:Ninject是一个轻量级的IOC容器框架,它支持构造函数注入和属性注入,并且具有简单易用的语法。
8:什么是OOP?
OOP指的是面向对象编程(Object-Oriented Programming)。它是一种编程范式,通过将数据和操作封装到对象中来建模现实世界的概念和关系。
在C#中,OOP的基本概念包括以下几个方面:
- 类(Class):类是抽象数据类型的模板,用于描述对象的属性(字段)和行为(方法)。它定义了对象的结构和行为,并提供了创建对象的蓝图。
- 对象(Object):对象是类的实例,是内存中实际存在的数据。每个对象都有自己的状态(属性值)和行为(方法调用),并与其他对象进行交互。
- 封装(Encapsulation):封装是一种将数据和相关行为组合在一起的机制。通过将数据和方法封装到类中,可以隐藏内部实现细节,只暴露必要的接口给外部使用。
- 继承(Inheritance):继承是一种通过从现有类派生出新类的机制。派生类可以继承父类的属性和方法,同时还可以添加自己的特定功能。继承提供了代码重用和层次化组织的方式。
- 多态(Polymorphism):多态性允许不同类型的对象对同一个消息做出不同的响应。它使得可以使用通用的接口来操作不同类型的对象,提高了代码的灵活性和可扩展性。
通过使用OOP的概念和技术,可以将复杂的问题分解为更小的模块,并通过定义类和对象来组织和管理代码。这样可以提高代码的可读性、可维护性和可重用性,并使开发人员更加专注于问题的领域建模和业务逻辑的实现。
9:什么是AOP?
AOP指的是面向切面编程(Aspect-Oriented Programming)。它是一种编程范式,通过将横切关注点(Cross-Cutting Concerns)从主要业务逻辑中分离出来,以模块化的方式进行处理。
在C#中,AOP可以通过以下方式实现:
- 切面(Aspect):切面是横切关注点的具体实现。它包含了一系列的通用行为或功能,如日志记录、异常处理、事务管理等。每个切面都可以在不同的地方和时间点被应用到目标代码中。
- 连接点(Join Point):连接点是在执行过程中可以应用一个切面的特定位置。例如,方法的调用、属性的访问、异常抛出等都可以作为连接点。
- 通知(Advice):通知是切面在连接点执行前、执行后或出现异常时所执行的代码。它定义了切面在何时、何地和如何被应用到目标代码中。
- 切入点(Pointcut):切入点定义了哪些连接点将被应用一个或多个切面。通过指定切入点,可以选择性地将切面应用到目标代码中的特定位置。
- 织入(Weaving):织入是将切面应用到目标代码中的过程。它可以在编译时、运行时或加载时进行。织入可以通过静态代理、动态代理、IL重写等方式实现。
使用AOP的好处包括:
- 提高代码可读性和可维护性:将横切关注点与主要业务逻辑分离,使代码更加清晰和易于理解。
- 降低代码耦合度:通过切面的模块化方式处理通用行为,减少了代码间的直接依赖。
- 重用性:可以将相同的切面应用到不同的目标代码中,提高了代码的重用性。
- 可扩展性:通过添加新的切面,可以在不修改原始代码的情况下增加新的功能。
在C#中,可以使用第三方库如PostSharp来实现AOP。这些库提供了注解或配置的方式来定义切面和连接点,并在编译或运行时进行织入。
10:什么是DI?
DI指的是依赖注入(Dependency Injection)。它是一种设计模式,用于解耦组件之间的依赖关系,提高代码的可测试性、可维护性和可扩展性。
在C#中,依赖通常指一个对象需要依赖另一个对象才能完成某个功能。传统的方式是在使用对象之前,手动创建和管理其依赖的对象实例。而使用依赖注入,可以将对象的依赖关系委托给外部容器来管理。
依赖注入有三种主要的方式:
- 构造函数注入(Constructor Injection):通过构造函数将依赖对象作为参数传递进来,并在对象创建时进行注入。例如:
public class MyClass
{private readonly IDependency _dependency;public MyClass(IDependency dependency){_dependency = dependency;}
}
2.属性注入(Property Injection):通过公共属性将依赖对象注入到目标对象中。例如:
public class MyClass
{public IDependency Dependency { get; set; }
}
3.方法注入(Method Injection):通过方法参数将依赖对象注入到目标对象中。例如:
public class MyClass
{public void SetDependency(IDependency dependency){// ...}
}
通过使用依赖注入,可以实现以下好处:
-
解耦依赖关系:将对象的创建和管理权交给外部容器,减少了对象之间的直接依赖。
-
提高代码可测试性:可以轻松地通过传递模拟的依赖对象来进行单元测试,而无需依赖真实对象。
-
简化代码维护:将依赖关系从代码中解耦出来,使得代码更加清晰、简洁和可维护。
-
支持可扩展性:通过配置不同的依赖对象实现,可以方便地更换或增加新的实现。
-
解耦依赖关系:将对象的创建和管理权交给外部容器,减少了对象之间的直接依赖。
-
提高代码可测试性:可以轻松地通过传递模拟的依赖对象来进行单元测试,而无需依赖真实对象。
-
简化代码维护:将依赖关系从代码中解耦出来,使得代码更加清晰、简洁和可维护。
-
支持可扩展性:通过配置不同的依赖对象实现,可以方便地更换或增加新的实现。
在C#中,可以使用第三方库如Autofac、Unity、Ninject等来实现依赖注入。这些库提供了容器和依赖解析器,用于管理对象的创建和注入。
相关文章:
![](https://img-blog.csdnimg.cn/img_convert/b888c20841068f3233de6dfdfd6ba03b.png)
C#面试十问
1:C#中变量类型分为哪两种?它们的区别是什么?2:Class和Struct的区别?3:C#中类的修饰符和类成员的修饰符有哪些?4:面向对象的三个特征(特点)是什么?…...
![](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fassets.leetcode.com%2Fuploads%2F2021%2F01%2F18%2Funiquebstn3.jpg&pos_id=I74nfN8B)
Day 41 动态规划part03 : 343. 整数拆分 96.不同的二叉搜索树
96. 不同的二叉搜索树 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入:n 1…...
![](https://img-blog.csdnimg.cn/1e04ed8b485f4932bf0673d90bbbdb2c.png)
四轴飞行器的电池研究(MatlabSimulink仿真)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
![](https://img-blog.csdnimg.cn/img_convert/a4b7035c1f9ddb0cca707a6300b9035f.png)
准备HarmonyOS开发环境
引言 在开始 HarmonyOS 开发之前,需要准备好开发环境。本章将详细指导你如何安装 HarmonyOS SDK、配置开发环境、创建 HarmonyOS 项目。 目录 安装 HarmonyOS SDK 配置开发环境 创建 HarmonyOS 项目 总结 1. 安装 HarmonyOS SDK HarmonyOS SDK 是开发 Harmo…...
![](https://img-blog.csdnimg.cn/06ceee0d2ad14c11a92d94241839e298.jpeg)
Java 面试 - Redis
Redis Redis 是基于键值对的非关系型数据库。Redis 拥有string、hash、list、set、zset等多种数据结构, redis具有惊人的读写性能, 其优秀的持久化机制是的它在断电和机械故障时也不会发生数据丢失, 可以用于热点数据存放, 还提供了键过期、发布订阅、食物、流水线、LUA脚本等多…...
![](https://img-blog.csdnimg.cn/922029c30717493fb93ec7f6f9236b66.png)
【Go 基础篇】Go语言结构体之间的转换与映射
在Go语言中,结构体是一种强大的数据类型,用于定义和组织不同类型的数据字段。当我们处理复杂的数据逻辑时,常常需要在不同的结构体之间进行转换和映射,以便实现数据的转移和处理。本文将深入探讨Go语言中结构体之间的转换和映射技…...
![](https://img-blog.csdnimg.cn/971f3c2631094100ab640eaccacdc8d3.png)
Java 多线程系列Ⅳ(单例模式+阻塞式队列+定时器+线程池)
多线程案例 一、设计模式(单例模式工厂模式)1、单例模式2、工厂模式 二、阻塞式队列1、生产者消费者模型2、阻塞对列在生产者消费者之间的作用3、用标准库阻塞队列实现生产者消费者模型4、模拟实现阻塞队列 三、定时器1、标准库中的定时器2、模拟实现定时…...
![](https://img-blog.csdnimg.cn/img_convert/dbbbd6d03ff6903aebdf56c117e2ca69.png)
将 ordinals 与 比特币智能合约集成 : 第 1 部分
将序数与比特币智能合约集成:第 1 部分 最近,比特币序数在区块链领域引起了广泛关注。 据称,与以太坊 ERC-721 等其他代币标准相比,Ordinals 的一个主要缺点是缺乏对智能合约的支持。 我们展示了如何向 Ordinals 添加智能合约功…...
![](https://img-blog.csdnimg.cn/674bc85291254e91a85812b7910c7248.png)
【USRP】集成化仪器系列1 :信号源,基于labview实现
USRP 信号源 1、设备IP地址:默认为192.168.10.2,请勿 修改,运行阶段无法修改。 2、天线输出端口是TX1,请勿修改。 3、通道:0 对应RF A、1 对应 RF B,运行 阶段无法修改。 4、中心频率:当需要…...
![](https://img-blog.csdnimg.cn/1ad1a35a30a0484d95e3a624dd3da9c5.png)
串行协议——USB驱动[基础]
多年前的学习记录,整理整理。 一、USB协议基础 二、Linux内核USB驱动源码分析 USB中不同类型设备使用的 设备描述符(设备类\设备子类\设备协议) 配置不同,典型的以下几种:1)HID设备: Human Input Device人工输入设备, 如鼠标\键盘\游戏手柄等.2)CDC设备: Communi…...
![](https://img-blog.csdnimg.cn/img_convert/54ca8d1e3f2c46b3b775e7a01f29d0b3.jpeg)
健康舒适的超满意照明体验!SUKER书客SKY护眼台灯测评
健康舒适的超满意照明体验!SUKER书客SKY护眼台灯测评 2022年全国儿童青少年总体近视率为53.6%,其中6岁儿童为14.5%,小学生为36%,初中生为71.6%,高中生为81%,近视已成为当下人们遇到的比较普遍的眼健康问题…...
![](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2FZUHCFZqSZztFSTdict6hPGXmO0hboia08xPJlDqrIp0yQM3QQCReM1icLdqOMtKnffyFo1Ze8Qa60hPQOSh8MC3tw%2F640&pos_id=AzNnGziD)
PID 算法
1.1 概述 比例(Proportion)积分(Integral)微分(Differential)控制器(PID控制器或三项控制器)是一种采用反馈的控制回路机制,广泛应用于工业控制系统和需要连续调制控制的…...
![](https://img-blog.csdnimg.cn/c8724980a54d45ccae62df342b7c644e.png)
13.Redis 事务
Redis 事务 redis 事务事务操作multi 开启事务exec 执行事务discard 放弃当前事务watchunwatch redis 事务 Redis 的事务和 MySQL 的事务概念上是类似的。 都是把⼀系列操作绑定成⼀组。 让这⼀组能够批量执⾏。 Redis 的事务和 MySQL 事务的区别: 弱化的原⼦性: 这里指的是 …...
![](https://www.ngui.cc/images/no-images.jpg)
李宏毅机器学习课程笔记(更新ing)
CNN 为什么AlphaGo可以用CNN?棋盘抽象成图片时需要注意什么? 首先图片有两个特点: 1,只观察局部就可以显示某种pattern,比如要得出一个鸟嘴的结论,只需要观察局部图片 2,某种pattern可以出现在图…...
![](https://img-blog.csdnimg.cn/89e2a3e1f2cc4f63bc73bc5b2d3d6df1.png)
SIP mini 对讲终端,带sip热点功能
SV-A10/SV-A10W SIP mini 对讲终端,带sip热点功能 SV-A10/SV-A10W 是专门针对行业用户需求研发的一款 SIP mini 对讲产品,外观小巧,功能 强大,集智能安防、音/视频对讲和广播功能于一体,性价比高。支持壁挂式安装/86…...
![](https://www.ngui.cc/images/no-images.jpg)
PHP中根据出生年月日计算年龄的封装函数
在 PHP 中,你可以使用以下函数来根据出生年月日计算年龄: 封装函数 function calculateAge($birthday) {$currentDate date(Y-m-d);$birthdayDate date(Y-m-d, strtotime($birthday));$age date_diff(date_create($currentDate), date_create($birt…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux巡检脚本
做运维的朋友都知道,大家经常要对一些系统做月度维护或者自查,在这个过程中,如果只是小工作量的查询,进入系统直接输入命令即可。但是如果说要查询的系统很多,每个系统中要查询的项目也很多,那么每次都要一…...
![](https://www.ngui.cc/images/no-images.jpg)
SQLite 3.43.0 发布,又有啥新功能?
SQLite 开发团队于 2023 年 08 月 24 日发布了 SQLite 3.43.0 版本。本文给大家分析一下该版本的更新。 全文索引 SQLite 3.43.0 增加了 Contentless-Delete FTS5 索引。这是一种 FTS5 全文索引的变种,不存储被索引的内容,同时支持数据的删除操作。 例…...
![](https://img-blog.csdnimg.cn/img_convert/d14d858285ca124295aeab3319d66b12.png)
百度自研高性能ANN检索引擎,开源了
作者 | Puck项目组 导读 Puck是百度自研的开源ANN检索引擎。Puck开源项目包含两种百度自研的检索算法,以高召回、高准确、高吞吐为目标,适用于多种数据规模和场景。随着业务发展不断的优化和迭代,进行充分的技术开发和测试,确保了…...
![](https://www.ngui.cc/images/no-images.jpg)
golang遍历map的方法
在Go语言中,可以使用range关键字来遍历一个map。range关键字会返回两个值:key和value。 以下是遍历map的示例代码: package main import "fmt" func main() { myMap : map[string]int{ "apple": 1, "banana…...
![](https://img-blog.csdnimg.cn/img_convert/78691534e9e683a1df02a78e7db4b130.png)
如何让Android平台像网络摄像机一样实现GB28181前端设备接入?
技术背景 好多开发者在做国标对接的时候,首先想到的是IPC(网络摄像头),通过参数化配置,接入到国标平台,实现媒体数据的按需查看等操作。 像执法记录仪等智能终端,跑在Android平台,…...
![](https://www.ngui.cc/images/no-images.jpg)
文盘Rust -- 生命周期问题引发的 static hashmap 锁 | 京东云技术团队
2021年上半年,撸了个rust cli开发的框架,基本上把交互模式,子命令提示这些cli该有的常用功能做进去了。项目地址:https://github.com/jiashiwen/interactcli-rs。 春节以前看到axum已经0.4.x了,于是想看看能不能用rus…...
![](https://img-blog.csdnimg.cn/36fe2ac2c0aa407383d62fbd52acec0a.png)
SpringMVC入门篇
目录 1.SpringMVC工作流程 2.SpringMVC核心组件 2.1 DispatcherServlet 2.2 HandlerMapping 2.3 Handler 2.4 HandlerAdapter 2.5 ViewResolver 2.6 View 3.SpringMVC的入门 3.1 添加相关依赖 3.2 创建Spring-mvc.xml 3.3 配置web.xml 3.4 效果演示 4.静态资源处…...
![](https://img-blog.csdnimg.cn/f4d54908db8b4d6c83cc0780faf85368.png)
面经:安卓学习笔记
文章目录 1. Android系统架构2. Activity2.0 定义2.1 生命周期2.2 生命状态2.3 启动模式 3. Service3.1 定义3.2 两种启动方式3.3 生命周期3.4 跨进程service3.5 IntentService 4. BroadCastReceiver4.1 概念4.2 组成4.3 广播接收器的分类4.4 生命周期4.5 静态注册和动态注册 5…...
![](https://img-blog.csdnimg.cn/f36cb565c2a34ebcadbd777e4d1526ed.png)
Java设计模式:四、行为型模式-06:观察者模式
文章目录 一、定义:观察者模式二、模拟场景:观察者模式2.1 观察者模式2.2 引入依赖2.3 工程结构2.4 模拟摇号2.4.1 摇号服务接口2.4.2 摇号返回结果类 三、违背方案:观察者模式3.0 引入依赖3.1 工程结构3.2 添加摇号接口和实现3.2.1 摇号服务…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)
vscode中讨厌的蓝色波浪线的去除小trick和原理
问题描述 不小心“设置同步”时和远程电脑的合并(merge)了,然后就出现了这个问题!烦死了!!! 大概是这个样子: 解决办法 站在了巨人的肩膀上,在下图位置输入这样一行参数&…...
![](https://img-blog.csdnimg.cn/ef2fbed1962e4b4e98ef54d4d6e25861.png)
开发工具——IDE安装 / IDEA子module依赖导入失败编译提示xx找不到符号 / IDEA在Git提交时卡顿
近期换了工作电脑,公司的IT团队不够给力,不能复制电脑系统,所以又到了需要重装IDE配置开发环境的时候了;在安装和导入Java编译器IDEA的时候遇到一些"棘手"问题,这里整理下解决方法以备不时之需; …...
![](https://img-blog.csdnimg.cn/5a7ae9cebe04480785b7b18d45b31bfa.png)
AcWing 787:归并排序
【题目来源】https://www.acwing.com/problem/content/789/【题目描述】 给定你一个长度为 n 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。【输入格式】 输入共两行,第一行包含整数 n。 第二行包含 n 个整数&#…...
![](https://www.ngui.cc/images/no-images.jpg)
SeamlessM4T—Massively Multilingual Multimodal Machine Translation
本文是LLM系列的文章,针对《SeamlessM4T—Massively Multilingual & Multimodal Machine Translation》的翻译。 SeamlessM4T:大规模语言多模态机器翻译 摘要1 引言2 多模态翻译的社会技术维度2.12.22.3 3 SeamlessAlign:自动创建语音对…...
![](https://www.ngui.cc/images/no-images.jpg)
Python数据分析-Numpy
Numpy 个人笔记,仅供参考,谢谢 导入 import numpy import numpy as np from numpy import *Numpy数组对象 引入 # 让列表1 a [1,2,3,4],b [4,5,6,7] [x1 for x in a] # 实现ab a b > [1,2,3,4,5,6,7,8] [x y for (x,y) in zip(a,b)] -------…...
网站建设公司哪有/厦门seo关键词优化培训
C语言通过socket编程实现TCP通信 翻译Amarao 最后发布于2018-01-02 13:46:27 阅读数 43611 收藏 展开 服务端客户端通信例子:socket tcp 通信1,socket tcp通信2,udp使用讲解,socket udp通信例子 1. TCP/IP协议 叫做传输控制…...
![](/images/no-images.jpg)
专业手机网站建设哪家好/营销是做什么
随着每天温度的降低,慢慢进入了秋天。虽然这里的秋季雨天比较多,但偶尔晴朗得万里无云的日子会让心情一下变得阳光很多,走在上班的路上都会不自主的哼着歌,呵呵,臭美一下。路边的小桂花树也散发着淡淡的香味࿰…...
![](/images/no-images.jpg)
绍兴h5建站/百度电话客服24小时
在Dockerfile中安装Chrome的方法如下: 使用FROM命令指定基础镜像,例如FROM ubuntu:20.04使用RUN命令更新软件包源并安装Chrome的依赖项,例如RUN apt-get update && apt-get install -y libxss1 libappindicator1 libindicator7使用RU…...
![](https://img-blog.csdnimg.cn/img_convert/8d7c08300acd1a8c6adf815f12b5e4ec.png)
网站建设策划书风险控制/最好的网站优化公司
1.创建虚拟环境conda create -n pytorch python3.7注:-n是name的意思,后面指定虚拟环境的版本为3.72.进入环境conda activate pytorch注:conda可以省略3.安装pytorch打开官网:https://pytorch.org/选择相应的版本,如果你的电脑没有英伟达显卡,cuda选择none注意4.配置conda源找到…...
中小学教师兼职做网站/购买友情链接网站
最新版英文第三版 已有中文第二版 《ggplot2:数据分析与图形艺术》,即ggplot2: Elegant Graphics for Data Analysis,目前网上介绍的比较多的是第二版且已经有中文版,Hadley Wickham等目前已经更新到了第三版,做了很多…...
![](https://img-blog.csdnimg.cn/20200729110627853.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MDk2NjAzMA==,size_16,color_FFFFFF,t_70)
外贸独立网站怎么做/在线搜索资源
一、索引的种类 mysql索引主要分为两大类:单列索引、组合索引 单列索引: 一个索引只包含一个列,一个表可以有多个单列索引。 其中单列索引又可以分为:主键索引、唯一索引、普通索引 普通索引: 最基本的索引࿰…...