当前位置: 首页 > news >正文

C#学习1:C#初接触,一些基础内容备忘和相关报错说明

目录

1 C#基本语法格式

1.1 基础规则

1.2 以if为例子

2 一些写法

2.1 时间相关

2.2 对数写法

2.3 关于使用random

2.4 UnityEngine.Random.value

2.5 PerlinNoise  函数

PerlinNoise 函数本身的输出范围

3 各种报错

3.0 unity里对C#报错内容超级详细

3.1 error cs1001; identifier expected

3.2 error CS0103: The name 'Math' does not exist in the current context

3.3 error CS0266: Cannot implicitly convert type 'double' to 'float'. An explicit conversion exists (are you missing a cast?)

3.4 error CS0103: The name 'jointRecoil' does not exist in the current context

3.5 error CS1503: Argument 1: cannot convert from 'double' to 'float

3.6 error CS0103: The name 'someMethod' does not exist in the current context

3.7 error CS0117: 'Math' does not contain a definition for 'Norm'

3.8 error CS0246: The type or namespace name 'NextDouble' could not be found (are you missing a using directive or an assembly reference?)

3.9  随机相关的报错

error CS0104: 'Random' is an ambiguous reference between 'UnityEngine.Random' and 'System.Random'

3.10 error CS0029: Cannot implicitly convert type '(double newX1, double newY1)' to 'UnityEngine.Vector2'


1 C#基本语法格式

1.1 基础规则

  • 大小写敏感
  • 语句结尾都要加 ;
  • 函数等block内容 需要{}括号
  • 命名只能以字母或下划线开头
  • 注释语句 //   /* */
  • 强类型语言,每个变量,表达式,编译时必须先声明,明确的类型
  • 引用包,using System;  对比python用的是 import numpy

1.2 以if为例子

if ()

{

 语句;

}

else if ()

{

 语句;

}

else

{

 语句;

}

2 一些写法

2.1 时间相关

Time.deltaTime 在 Unity 游戏开发中是一个非常重要的属性,它表示从上一帧到当前帧的时间间隔。其单位是秒,但是在 Unity 内部,它被处理成了浮点数,所以它并不是精确到毫秒。

Time.deltaTime 的主要用途是用于计算每帧应该移动多远,或者是计算动画应该播放多少。如果你在更新函数(如 Update() 或 FixedUpdate())中使用 Time.deltaTime,它可以确保即使目标平台的性能差异巨大,你的游戏动画和物理更新仍然能正常运行。

2.2 对数写法

  • 自然对数,
  • double naturalLog = Math.Log(number);
  • // 计算以10为底的对数
  • double log10 = Math.Log10(number)

有些其他地方写法是 log(number, e) log(number, 10) 这样的

2.3 关于使用random

  • using System;
  • Random random = new Random();
  • int randomInt = random.Next(0, int.MaxValue);

2.4 UnityEngine.Random.value

UnityEngine.Random.value 返回[0,1] 

编程小知识之 Random接口返回值_unityengine.random.value-CSDN博客文章浏览阅读1k次。本文简述了 Random 接口返回值的一些相关信息平日工作中,(伪)随机数的使用一定是避不开的,拿 C# 为例,System 命名空间下的 Random 类型一般都是我们生成(伪)随机数的第一选择:var rand = new System.Random();var val = rand.NextDouble();Unity 中也在 UnityEngine 命名空间下提供了自己的 R..._unityengine.random.valuehttps://blog.csdn.net/tkokof1/article/details/84328704

2.5 PerlinNoise  函数

PerlinNoise 函数本身的输出范围

在 Unity 中, Mathf.PerlinNoise 函数的返回值范围是在 [0, 1] 区间内。也就是说,对于单独调用 Mathf.PerlinNoise(x, y) (其中 x 和 y 为传入的坐标参数),它返回的结果最小是 0 ,最大是 1

v1= new Vector2( Mathf.PerlinNoise(Time.time * 2, 0f) - 0.5f,Mathf.PerlinNoise(0f, Time.time * 2) - 0.5f ) * (2f * 0.1);

  • 原始 Perlin 噪声值范围:Mathf.PerlinNoise [0, 1] 
  • 减去 0.5 后范围:[-0.5, 0.5]
  • 乘以 0.2 后范围:[-0.1, 0.1]

3 各种报错

3.0 unity里对C#报错内容超级详细

unity里,会自动报错,很好用

比如 cross.cs(28,19):error cs1001; identifier expected

表示 

  • cross.cs 文件的
  • (line 28,19字符) 报错,
  • 错误类型cs1001
  • 错误内容 ; identifier expected

3.1 error cs1001; identifier expected

  • ; identifier expected 表示,希望/需要这有;但是实际缺少标识符
  • 一般是;
  • int = 10; // 这里缺少了变量名
  • Object obj = new(); // 这里缺少类名

3.2 error CS0103: The name 'Math' does not exist in the current context

  • 很多方法,都需要引用math下的方法,比如math.sin()
  • 但是,使用math包,和python一样,需要先导入
  • C#需要文件开头加一句,using System;

3.3 error CS0266: Cannot implicitly convert type 'double' to 'float'. An explicit conversion exists (are you missing a cast?)

error CS0266: Cannot implicitly convert type 'double' to 'float'. An explicit conversion exists (are you missing a cast?)

报错解释:

错误 CS0266 表示不能隐式地将 double 类型转换为 float 类型。由于 double 类型具有比 float 更大的有效数字范围和精度,因此不能直接将 double 值赋给需要 float 类型的变量。

解决方法:

使用显式转换:通过使用强制转换操作符将 double 值转换为 float 类型。例如,如果有一个 double 变量 d,你可以通过 (float)d 来得到它的 float 近似值。

double x = 123.456;
float f = (float) x;

因为C# 是严格声明的,强类型的语言

有些地方要求是 double类型的,但是在其他一些地方需要用float,所以需要转换,不能直接用

为什么不能直接用,比如 double 直接当成float 会丢失部分数据的

C# 错误 CS0266 表示你正在尝试将 double(双精度浮点数)赋值给 float(单精度浮点数)变量,而没有进行显式转换。这是因为 double 的精度(64 位)高于 float(32 位),从高精度类型隐式转换为低精度类型可能会导致数据丢失。

以下是修复此问题的方法,以及说明和最佳实践:

1. 显式转换:

最常见和最直接的解决方案是使用显式转换:

3.4 error CS0103: The name 'jointRecoil' does not exist in the current context

  • error CS0103: The name 'jointRecoil' does not exist in the current context
  • 报错解释:

    错误 CS0103 表示名为 'jointRecoil' 的标识符在当前上下文中不存在。这通常意味着你在代码中引用了一个变量、方法或类型,但是在你的当前作用域或者当前的命名空间中,编译器找不到这个名称的定义。

  • 变量 jointRecoil 没有先声明类型就直接使用了!不行,必须先声明类型

3.5 error CS1503: Argument 1: cannot convert from 'double' to 'float

error CS1503: Argument 1: cannot convert from 'double' to 'float

报错解释:

错误 CS1503 表示方法调用的参数类型不匹配。具体来说,是指方法期望的是一个 float 类型的参数,但是你提供的是一个 double 类型的参数。

需要转换数值类型

3.6 error CS0103: The name 'someMethod' does not exist in the current context

error CS0103: The name 'someMethod' does not exist in the current context

使用的 someMethod 这个方法,并没有先在代码中实现

3.7 error CS0117: 'Math' does not contain a definition for 'Norm'

error CS0117: 'Math' does not contain a definition for 'Norm'

C# 里并没有默认的 Math.norm()  生成正态分布的方法

错误解释:

错误 CS0117 表示您尝试调用的 Math 类中不存在名为 Norm 的方法或定义。这通常意味着您正在尝试使用不存在的成员来执行操作。

3.8 error CS0246: The type or namespace name 'NextDouble' could not be found (are you missing a using directive or an assembly reference?)

error CS0246: The type or namespace name 'NextDouble' could not be found (are you missing a using directive or an assembly reference?)


错误解释:

错误 CS0246 表示编译器无法在当前上下文中找到名为 'NextDouble' 的类型或命名空间。这通常意味着 'NextDouble' 没有正确引用或定义。

就是没有先进行声明,确定明确的类型

解决方法:

确保您已经引用了包含 'NextDouble' 方法的命名空间。对于 .NET 中的随机数生成,您需要引用 System 命名空间,因为 NextDouble 方法定义在 System 命名空间下的 Random 类中。

3.9  随机相关的报错

error CS0104: 'Random' is an ambiguous reference between 'UnityEngine.Random' and 'System.Random'

错误 CS0104:“Random”是不明确的引用,存在于“UnityEngine.Random”和“System.Random”之间。

这个错误通常发生在 Unity (一个游戏开发引擎) 中,因为 UnityEngineSystem 命名空间都包含一个名为 Random 的类。当你在代码中只使用 Random 时,编译器不知道你指的是哪一个。

以下是几种解决方法:

1. 明确指定命名空间(推荐):

最常见也是最推荐的解决方案是在声明或使用 Random 类时指定完整的命名空间

UnityEngine.Random.Range(0, 10); // 生成一个介于 0(包含)和 10(不包含)之间的随机整数
float randomFloat = UnityEngine.Random.value; // 生成一个介于 0.0f 和 1.0f(包含)之间的随机浮点数

3.10 error CS0029: Cannot implicitly convert type '(double newX1, double newY1)' to 'UnityEngine.Vector2'

错误 CS0029:“无法将类型‘(double newX1, double newY1)’隐式转换为‘UnityEngine.Vector2’”表示你正尝试将类型为 (double newX1, double newY1)(一个包含两个 double 值的元组)的值直接赋给类型为 UnityEngine.Vector2 的变量。C# 不会自动将元组转换为 Vector2

以下是如何修复此问题以及每种解决方案的原理:

1. 显式创建 Vector2

这是最常见和推荐的解决方案。使用元组的值作为 x 和 y 分量创建一个新的 Vector2 对象。

using UnityEngine;

// ... 其他代码 ... (double newX1, double newY1) myTuple = (5.0, 3.2); // 示例元组

Vector2 myVector = new Vector2((float)myTuple.newX1, (float)myTuple.newY1);

// 或者使用解构语法,更简洁

(C# 7.0 及更高版本):

(double x, double y) = myTuple; Vector2 myVector2 = new Vector2((float)x, (float)y);

        spearRadius=0.1*Math.Log(bulletsNumInCd*5);

        double randomFloat = UnityEngine.Random.value;

        angle1 = UnityEngine.Random.value * 360 ;

        radius1 =UnityEngine.Random.value * spearRadius ;

        newX1=radius1* Math.Cos(angle1*Math.PI/180);

        newY1=radius1* Math.Sin(angle1*Math.PI/180);

        //newPos1 = newX1 , newY1 ;

        Vector2 newPos1 = new Vector2((float)newX1, (float)newY1);

不能这么写

newPos1 = (newX1, newY1);

newPos1 = ((float)newX1, (float)newY1);

必须用下面这种结构体才能生成

Vector2 newPos1 = new Vector2((float)newX1, (float)newY1);

最常见的错误是尝试用逗号来创建一个类似“元组”的东西。C# 中没有内置的用逗号直接创建坐标或点的语法。你需要使用合适的类型,例如 PointPointFVector2 或自定义的结构体。

根据你的项目类型和需求选择合适的方法。如果是在 Windows 窗体或 WPF 应用程序中处理图形,PointPointF 通常就足够了。如果需要向量运算,则使用 Vector2。如果需要更复杂的表示,则创建自定义的结构体。

请记住进行必要的类型转换,因为 Math.CosMath.Sin 返回 double,而 Point 使用 intPointFVector2 使用 float

相关文章:

C#学习1:C#初接触,一些基础内容备忘和相关报错说明

目录 1 C#基本语法格式 1.1 基础规则 1.2 以if为例子 2 一些写法 2.1 时间相关 2.2 对数写法 2.3 关于使用random 2.4 UnityEngine.Random.value 2.5 PerlinNoise 函数 PerlinNoise 函数本身的输出范围 3 各种报错 3.0 unity里对C#报错内容超级详细 3.1 error cs1…...

机器学习的方法

机器学习方法主要分为三种:监督学习、无监督学习、半监督学习。 1.监督学习 神经网络、朴素贝叶斯、线性回归、逻辑回归、随机森林、支持向量机(SVM)都是典型的监督学习方法。 监督学习,即监督机器学习,之所以叫监督…...

el-pagination 为什么只能展示 10 条数据(element-ui@2.15.13)

好的&#xff0c;我来帮你分析前端为什么只能展示 10 条数据&#xff0c;以及如何解决这个问题。 问题分析&#xff1a; pageSize 的值&#xff1a; 你的 el-pagination 组件中&#xff0c;pageSize 的值被设置为 10&#xff1a;<el-pagination:current-page"current…...

vulhub-wordpress靶场

一.主题上传漏洞 来到靶场点击主题选择add new 这里有一个上传主题的地方 我们可以去网上找到wordpress主题下载一个 wordpress模板 网页设计模板 免费 免费下载 - 爱给网 下载完成后对我们有用的东西只有这一个目录&#xff0c;把它拖出来 点开moban目录后&#xff0c;创建…...

Docker 默认安装位置迁移

一、找到 Docker 默认安装位置 [roothost-192-168-0-1 ~]# docker info Client:Version: 26.1.0Context: defaultDebug Mode: falseServer:Containers: 31Running: 31Paused: 0Stopped: 0Images: 128Server Version: 26.1.0Storage Driver: overlay2Backing Filesystem:…...

【机器学习】SVM支持向量机(一)

介绍 支持向量机&#xff08;Support Vector Machine, SVM&#xff09;是一种监督学习模型&#xff0c;广泛应用于分类和回归分析。SVM 的核心思想是通过找到一个最优的超平面来划分不同类别的数据点&#xff0c;并且尽可能地最大化离该超平面最近的数据点&#xff08;支持向量…...

无需配置设备,借助GitHub快速编译项目并直接运行!

引言 你是否曾经有过类似的烦恼&#xff0c;发现了一个有趣的项目&#xff0c;想要测试一下&#xff0c;但是自己的设备没有对应的开发环境或者受制于自己的设备&#xff0c;不想或者不能去配置对应的开发环境&#xff0c;应该怎么办呢&#xff1f;这种情况下&#xff0c;其实…...

【C#联合halcon实现绘制ROI功能】

前言 C#联合halcon实现绘制ROI功能&#xff1a; C#联合Halcon&#xff0c;使用HDrawingObject、HDrawingObjectXld&#xff0c;绘制矩形、方向矩形、圆形、椭圆、自定义ROI。支持拖动、重设大小、选中&#xff0c;右键复制、粘贴、删除功能。 运行结果 代码 代码结构 MainFo…...

语言模型的革命:大型概念模型(LCM)的崛起

在人工智能领域&#xff0c;Meta最近推出的一项重大突破正在引起研究人员和开发者的广泛关注&#xff1a;大型概念模型&#xff08;Large Concept Models&#xff0c;简称LCM&#xff09;。这一创新彻底改变了我们对语言模型的理解&#xff0c;并为未来AI技术的进展指明了新的方…...

在C#中获取程序的命令行参数

实现此目的的一种方法是重写程序的Main方法并赋予其一个字符串数组参数&#xff0c;如下面的代码所示。 static void Main(string[] args) {foreach (string arg in args){lstArguments.Items.Add(arg);} } 这种方法是从 C 编程语言继承而来的。 我更喜欢下面的方法&#xf…...

R基于贝叶斯加法回归树BART、MCMC的DLNM分布滞后非线性模型分析母婴PM2.5暴露与出生体重数据及GAM模型对比、关键窗口识别

全文链接&#xff1a;https://tecdat.cn/?p38667 摘要&#xff1a;在母婴暴露于空气污染对儿童健康影响的研究中&#xff0c;常需对孕期暴露情况与健康结果进行回归分析。分布滞后非线性模型&#xff08;DLNM&#xff09;是一种常用于估计暴露 - 时间 - 响应函数的统计方法&am…...

小程序基础 —— 08 文件和目录结构

文件和目录结构 一个完整的小程序项目由两部分组成&#xff1a;主体文件、页面文件&#xff1a; 主体文件&#xff1a;全局文件&#xff0c;能够作用于整个小程序&#xff0c;影响小程序的每个页面&#xff0c;主体文件必须放到项目的根目录下&#xff1b; 主体文件由三部分组…...

bishengjdk-8

title: 深入探索 BishengJDK-8&#xff1a;技术魅力与优势尽显 date: 2024-12-29 category: blog tags:- BishengJDK-8- Java 开发- 性能优化- 技术剖析 sig: BishengJDK archives: 2024-12 author:- way_back summary: BishengJDK-8 作为一款备受瞩目的 JDK 版本&#xff0c;以…...

Android9.x SurfaceView源码分析

前言 本文是继Android 深入理解SurfaceView再次对SurfaceView进行源码分析。 看了下代码,上篇文章是基于Android7.x的,本篇基于Android9.x再次进行分析, Android从7.0开始支持SurfaceView动画,并建议7.0之后使用SurfaceView替代TextureView,这里主要在Android9.0上分析Su…...

分布式 IO 模块助力冲压机械臂产线实现智能控制

在当今制造业蓬勃发展的浪潮中&#xff0c;冲压机械臂产线的智能化控制已然成为提升生产效率、保障产品质量以及增强企业竞争力的关键所在。而分布式 IO 模块的应用&#xff0c;正如同为这条产线注入了一股强大的智能动力&#xff0c;开启了全新的高效生产篇章。 传统挑战 冲压…...

解决VMware的ubuntu22虚拟机没有网络

解决步骤 1.在 Windows 系统中&#xff0c;按 “WinR” 键&#xff0c;输入 “services.msc” 并回车&#xff0c;在服务列表中找到 “VMware DHCP Service” 和 “VMware NAT Service”&#xff0c;确保这两个服务已启动&#xff0c;若未启动则右键点击选择 “启动”&#xf…...

Linux arm 编译安装glibc-2.29

重要的话说三遍&#xff1a; &#xff01;&#xff01;&#xff01;&#xff01;&#xff01;不要轻易自己去安装glibc&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; &#xff01;&#xff01;&#xff01;&#xff01;&#xff01;不要轻易自己去安装glibc&a…...

Docker-构建自己的Web-Linux系统-镜像webtop:ubuntu-kde

介绍 安装自己的linux-server,可以作为学习使用&#xff0c;web方式访问&#xff0c;基于ubuntu构建开源项目 https://github.com/linuxserver/docker-webtop安装 docker run -d -p 1336:3000 -e PASSWORD123456 --name webtop lscr.io/linuxserver/webtop:ubuntu-kde登录 …...

linux 7.6安装mysql 8.0步骤如下

linux 7.6安装mysql 8.0步骤如下&#xff1a; 注意&#xff1a;在导入密钥的时候这个不行&#xff0c;可更换为 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023...

meshy的文本到3d的使用

Meshy官方网站&#xff1a; 中文官网&#xff1a; Meshy官网中文站 ​编辑 Opens in a new window ​编辑www.meshycn.com Meshy AI 中文官网首页 英文官网&#xff1a; Meshy目前似乎还没有单独的英文官网&#xff0c;但您可以在中文官网上找到英文界面或相关英文资料。 链…...

抓取手机HCI日志

荣耀手机 1、打开开发者模式 2、开启HCI、ADB调试 3、开启AP LOG 拨号界面输入*##2846579##* 4、蓝牙配对 5、抓取log adb pull /data/log/bt ./...

如果你的网站是h5网站,如何将h5网站变成小程序-除开完整重做方法如何快速h5转小程序-h5网站转小程序的办法-优雅草央千澈

如果你的网站是h5网站&#xff0c;如何将h5网站变成小程序-除开完整重做方法如何快速h5转小程序-h5网站转小程序的办法-优雅草央千澈 h5如何转小程序 如果当年你们开发网站是用的h5但是没有开发小程序&#xff0c;也没有使用uniapp这样的混开框架&#xff0c;但是目前根据业务需…...

2024:踏平坎坷成大道,斗罢艰险又出发!

一、开篇 12月今年最后一个月了&#xff0c;相逢的人已走散&#xff0c;Q4的OKR已经定型了&#xff0c;很平淡无味、闲的无聊&#xff0c;提前写个年终总结吧。25年&#xff0c;再过一个月就35岁了&#xff0c;一个人来北京也已经11年了。年近末尾&#xff0c;思绪良多。回顾过…...

Qt For Android之环境搭建(Qt 5.12.11 Qt下载SDK的处理方案)

文章目录 一、Qt For Android运行示例二、个人理解及情况解析三、配置Android相关配置项3.1 安装简述3.2 安装Qt1.安装Qt第一步&#xff1a;启动Qt安装包程序2.Qt账号&#xff08;注册&#xff09;登录3.了解Qt开源使用义务4.指定Qt安装目录5.选择Qt安装内容6.接受“许可协议”…...

LLaMA详解

LLaMA 进化史 大规模语言模型(Large Language Model, LLM)的快速发展正在以前所未有的速度推动人工智能(AI)技术的进步。 作为这一领域的先行者, Meta在其LLaMA(Large Language Model Meta AI)系列模型上取得了一系列重大突破。 近日, Meta官方正式宣布推出LLaMA-3, 作为继LL…...

【学生管理系统】权限管理之用户管理

目录 6. 权限管理 6.1 环境搭建 6.1.1 数据库 6.1.2 后端环境 6.2 用户管理 6.2.1 查询所有用户&#xff08;关联角色&#xff09; 6.2.2 核心1&#xff1a;给用户授予角色 6. 权限管理 6.1 环境搭建 6.1.1 数据库 权限管理的5张表的关系 添加4张表 # 权限表&…...

基于Java+Springboot+Vue开发的旅游景区管理系统,实习作品

项目简介 该项目是基于JavaSpringbootVue开发的旅游景区管理系统&#xff08;前后端分离&#xff09;&#xff0c;这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能&#xff0c;同时锻炼他们的项目设计与开发能力。通过学习基于Java的旅…...

人工智能及深度学习的一些题目

1、一个含有2个隐藏层的多层感知机&#xff08;MLP&#xff09;&#xff0c;神经元个数都为20&#xff0c;输入和输出节点分别由8和5个节点&#xff0c;这个网络有多少权重值&#xff1f; 答&#xff1a;在MLP中&#xff0c;权重是连接神经元的参数&#xff0c;每个连接都有一…...

JavaFX FXML模式下的布局

常见布局方式概述 在 JavaFX FXML 模式下&#xff0c;有多种布局方式可供选择。这些布局方式可以帮助您有效地组织和排列 UI 组件&#xff0c;以创建出美观且功能良好的用户界面。常用布局容器及布局方式 BorderPane 布局 特点&#xff1a;BorderPane 将空间划分为五个区域&…...

在 Windows 11 下的 WSL - Ubuntu 24.04 中安装 CUDA 的记录

#记录工作 以下是基于CUDA官网给定命令在 Windows 11 下的 WSL - Ubuntu 24.04 中安装 CUDA 的记录&#xff1a; 一、准备工作 确保你的 Windows 11 系统已经成功启用 WSL 功能&#xff0c;并且已经安装了 Ubuntu 24.04 操作系统。同时&#xff0c;确保系统处于联网状态&#…...

Qt 12.28 day3

作业&#xff1a; 1】 思维导图 2】 在登录界面的登录取消按钮进行以下设置&#xff1a; 使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&a…...

AISuite:提供了统一的跨 LLM API的开源 Python 库

1. 简介&#xff1a; AISuite是一个开源的Python库&#xff0c;旨在提供一个统一的接口来调用不同的大型语言模型&#xff08;LLM&#xff09;API。这个工具由吴恩达&#xff08;Andrew Ng&#xff09;领导开发&#xff0c;目的是简化AI模型的调用过程&#xff0c;使得开发者能…...

springMVC-请求响应

springmvc——一 站式web框架&#xff0c;核心是处理http请求响应。 前后端分离&#xff1a;需要序列化&#xff0c;服务端把数据序列化成字符串或者流给前端&#xff0c;前端又把json转成对象&#xff0c;前端的叫反序列化。前端把数据序列化转成字符串给服务器&#xff0c;服…...

【代码分析】Unet-Pytorch

1&#xff1a;unet_parts.py 主要包含&#xff1a; 【1】double conv&#xff0c;双层卷积 【2】down&#xff0c;下采样 【3】up&#xff0c;上采样 【4】out conv&#xff0c;输出卷积 """ Parts of the U-Net model """import torch im…...

uni-app开发-识图小程序-个人中心页面

目录 一:功能描述 二:代码实现 一:功能描述 个人中心中心主要包含用户登录信息,退出登录,图像识别记录,分类识别记录,分享记录以及小程序介绍信息。用户登录状态下可以看到图形识别记录,分类识别记录和分享记录,未登录状态只能看到介绍信息,点击未登录文字会触发…...

C++小游戏

【欢迎关注编码小哥&#xff0c;学习更多实用的编程方法和技巧】 设计一个桌面游戏是一个有趣且富有挑战性的项目。下面是一个简单的C桌面游戏的设计思路和示例代码。我们将创建一个简单的“猜数字”游戏&#xff0c;玩家需要在有限的尝试次数内猜测一个随机生成的数字。 游戏…...

Flutter封装一个三方ViewPager学习

Flutter如何实现一个增强的 PageView&#xff0c;支持自定义页面切换动画。 前置知识点学习 CrossAxisAlignment CrossAxisAlignment 是 Flutter 中用于控制布局子组件在交叉轴&#xff08;cross axis&#xff09;方向上的对齐方式的一个枚举类。它主要在 Flex 布局模型中使…...

【算法】复杂性理论初步

六、算法复杂性初步 重要的复杂性类 P P P 的定义 多项式时间内可解的问题 若 L ∈ P L∈P L∈P&#xff0c;则存在确定性多项式时间的图灵机 M M M&#xff0c;使得 M ( x ) 1 ⟺ x ∈ L M(x)1⟺x∈L M(x)1⟺x∈L N P NP NP 的定义 多项式时间内可验证验证解的正确性 &…...

vscode实用插件(持续更新)

目录 Git History Diff Git Graph Error Lens Git History Diff 用于将当前分支的某个文件夹与远程分支的相同文件夹做对比&#xff0c;方便代码评审&#xff01;解决了为了一个问题而多次commit&#xff0c;导致代码不好评审&#xff0c;即不晓得和远程分支相比&#xff0…...

使用Lodash工具库的orderby和sortby进行排序的区别

简介 _.orderBy 和 _.sortBy 是 Lodash 库中用于排序数组的两个函数。 区别 _.orderBy 允许你指定一个或多个属性来排序&#xff0c;并为每个属性指定排序方向&#xff08;升序或降序&#xff09;。默认所有值为升序排&#xff0c;指定为"desc" 降序&#xff0c…...

胡闹厨房练习(三)

ScriptableObject 一、初步了解 1、实质:是一种特殊类型的Unity对象, 2、作用:用于存储大量数据,而不必依附于游戏场景中的某个GameObject。 3、特点: 可以在不增加场景中对象数量的情况下,管理和存储复杂的数据结构、配置信息、游戏状态等。 4、适用:非常适合用来…...

Postman接口测试01|接口测试基础概念、http协议、RESTful风格、接口文档

目录 一、接口测试基础概念 1、什么是接口 2、接口的类型 3、什么是接口测试 4、为什么要做接口测试 5、接口测试的实现方式 6、什么是自动化接口测试&#xff1f; 二、接口返回的数据格式 1、三种格式 2、Json 三、接口协议 1、webservice协议 2、dubbo协议 3、…...

算法进阶:贪心算法

贪心算法是一种简单而直观的算法思想&#xff0c;它在每一步选择中都采取在当前状态下最优的选择&#xff0c;以期望最终得到全局最优解。贪心算法通常适用于一些具有最优子结构的问题&#xff0c;即问题的最优解可以通过一系列局部最优解的选择得到。 贪心算法的基本思路是&a…...

深度学习笔记(6)——循环神经网络RNN

循环神经网络 RNN 核心思想:RNN内部有一个“内部状态”,随着序列处理而更新 h t f W ( h t − 1 , x t ) h_tf_W(h_{t-1},x_t) ht​fW​(ht−1​,xt​) 一般来说 h t t a n h ( W h h h t − 1 W x h x t ) h_ttanh(W_{hh}h_{t-1}W_{xh}x_t) ht​tanh(Whh​ht−1​Wxh​xt…...

电商项目高级篇07-redisson分布式锁

redisson分布式锁 1、引入maven依赖2、config类3、可重入锁设计 1、引入maven依赖 <!--引入redisson--><dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.12.0</version></depend…...

STM32中断详解

STM32中断详解 NVIC 中断系统中断向量表相关寄存器中断优先级中断配置 外部中断实验EXTI框图外部中断/事件线映射中断步骤初始化代码实现 定时器中断通用定时器相关功能标号1&#xff1a;时钟源标号 2&#xff1a;控制器标号 3&#xff1a;时基单元 代码实现 NVIC 中断系统 STM…...

KNN分类算法 HNUST【数据分析技术】(2025)

1.理论知识 KNN&#xff08;K-Nearest Neighbor&#xff09;算法是机器学习算法中最基础、最简单的算法之一。它既能用于分类&#xff0c;也能用于回归。KNN通过测量不同特征值之间的距离来进行分类。 KNN算法的思想&#xff1a; 对于任意n维输入向量&#xff0c;分别对应于特征…...

【Win11】安装 VMware17 和 Ubuntu

【Win11】安装 VMware17 和 Ubuntu 15 版本和 Win11 家庭版间的兼容应该有 BUG&#xff0c;请直接跳至【VMware 17】 安装【VMware 15】 本来是按如下资源链接安装的&#xff0c;但发现 15 版本和 Win11 家庭版间的兼容应该有 BUG&#xff0c;在安装并关闭 Hyper-V&#xff…...

Jmeter快速入门

目录 1.安装Jmeter 1.1.下载 1.2.解压 1.3.运行 2.快速入门 2.1.设置中文语言 2.2.基本用法 1.安装Jmeter Jmeter依赖于JDK&#xff0c;所以必须确保当前计算机上已经安装了JDK&#xff0c;并且配置了环境变量。 1.1.下载 可以Apache Jmeter官网下载&#xff0c;地址…...

Android Studio2024版本安装环境SDK、Gradle配置

一、软件版本&#xff0c;安装包附上 &#x1f449;android-studio-2024.1.2.12-windows.exe&#x1f448; &#x1f449;百度网盘Android Studio安装包&#x1f448; &#xff08;若下载连链接失效可去百度网盘链接下载&#xff09; 二、软件安装过程 ​ ​ ​ 三、准备运行…...