编程语言
C++/C#/Python/javascript
SuperWiwi
这个作者很懒,什么都没留下…
展开
-
C++ include guard
include guard 也叫 header guard,macro guard,file guard。它的作用就是防止头文件被重复包含。具体的实现方法是:定义一个头文件的时候,用#ifndef 的形式来定义一次宏。第一次包含此文件,可以正确定义宏,之后再包含此文件,因为已经定义过,所以会skip。include guard实现示例:...原创 2022-07-12 13:09:44 · 845 阅读 · 1 评论 -
【C++】常用数据类型取值范围
转载 2021-06-23 14:50:58 · 538 阅读 · 0 评论 -
【C#】本地函数(函数嵌套)
文章目录原理参考C# 中的本地函数本地函数(C# 编程指南)使用总结可以在类中的1个方法中再定义1个 本地函数,此本地函数只能在定义它的方法中被调用。此本地函数可以使用定义它的方法中的局部变量。调用本地函数时和普通函数一样。一个很实用的例子碰到递归类的问题,就不用再外部额外定义函数了。public static uint LocFunFibonacci(uint n){ return Fibonacci(n); uint Fibonacci(uint num)原创 2021-04-22 10:38:57 · 2054 阅读 · 0 评论 -
【C#】List去重
文章目录问题引出使用Distinct去重操作方法原理参考c# list对象集合 去重C# List 根据对象属性去重的四种方法对比问题引出希望玩家在Unity的Inspector面板上对一个list赋值,随后,程序将对list中的元素进行操作。操作时,不希望list中的对象重复。(若使用HashSet,则无法序列化,不能让用户在面板上赋值。)当然,只使用List作为中转,实际操作HashSet中的元素也是可以的。此外,想要实现List去重,还可以使用一个Dictionary来进行中转,每次原创 2021-04-22 10:21:01 · 2356 阅读 · 0 评论 -
【C#】Collection was modified; enumeration operation may not execute
文章目录错误应用场景发生错误的原因解决方案方案一方案二方案三参考错误集合已修改;枚举操作可能无法执行应用场景(1)有一个List保存了所有UI的prefab。(2)默认情况下,我会先把所有prefab保存到该List中。接着,在某些时刻根据名称在List中去查找,得到特定的prefab。结果,今天,我写了这样的代码:查找某个prefab的时候,我又往List中添加了几个新的prefab。此时,原本的代码依然在不停地枚举List,查找特定的prefab,于是就报了这个错。发生错误的原因原创 2020-12-25 16:32:55 · 2632 阅读 · 0 评论 -
【C#】【UGUI】委托的参数是委托:弹出确认面板的回调函数
在UI接口的脚本里这样写:public System.Action<System.Action<bool>> ShowPopupConfirmDeleteObject = null;在控制业务逻辑的脚本里这样写:private void OnSelectedObjectDeleteBtn(object p_obj, System.EventArgs p_args){ if (m_GUI3dObject.SelectedObject != null) { if (LE原创 2020-12-15 11:10:49 · 251 阅读 · 0 评论 -
C# 判断string变量值为Enum值
定义枚举类型public enum UIPanelType { ItemMessage, Knapsack, MainMenu, Shop, Skill, System, Task}输入字符串,转为枚举类型的值System.Enum.Parse(typeof(enum..), str);public void OnPushPanel(string panelTypeString){ UIPanelType panelType原创 2020-12-08 16:33:40 · 1034 阅读 · 0 评论 -
【C#】Attribute简单了解
文章目录0.参考1.简介2.Unity中常用的特性(1)Inspector(2)用于继承MonoBehaviour组件Class(3)Editor(4)System0.参考C# 特性-菜鸟教程官方文档左侧的Attributes栏。Unity Attributes 特性课程1.简介特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([原创 2020-07-23 22:17:45 · 455 阅读 · 0 评论 -
C#扩展方法的简单使用
文章目录问题扩展方法向string类添加扩展方法的示例向string类添加扩展方法的示例问题阅读源码的时候,发现某个对象调用了没有在它的类中定义的方法,这是怎么回事呢?原来使用了扩展方法。扩展方法给C#内置对象或自定义对象添加扩展方法,那么在同一个命名空间下面定义的所有的该类对象都可以直接调用此扩展方法。使用时需要注意:(1)扩展方法不能和调用的方法放到同一个类中(2)第一个参数必须要,并且必须是this,这是扩展方法的标识。如果方法里面还要传入其他参数,可以在后面追加参数(3)扩展方法所原创 2020-11-27 15:25:51 · 300 阅读 · 0 评论 -
C#委托简单了解
文章目录一、委托简介二、命名方法委托1.定义2.实例化3.调用4.命名委托应用示例三、多播委托四、匿名委托五、事件Event一、委托简介委托从字面上理解就是一种代理,类似于房屋中介,由租房人委托中介为其租赁房屋。在 C# 语言中,委托则委托某个方法来实现具体的功能。委托是一种引用类型,虽然在定义委托时与方法有些相似,但不能将其称为方法。委托在使用时遵循三步走的原则:定义声明委托实例化委托调用委托委托特点:从数据结构来讲,委托是和类一样是一种用户自定义类型。委托是方法的抽象,它存储原创 2020-11-23 16:14:56 · 499 阅读 · 0 评论 -
C# Linq简单了解
文章目录问题Linq简介Linq Quick Start问题阅读源码时碰到了这样一段,看不懂这里的Where、Select函数啦:using System.Linq;......public static T[] GetFolderObjects<T>(string folderPath) where T : UnityEngine.Object { return loadedRecord.objects .Where(t => PathUtils.Pat原创 2020-11-23 11:28:10 · 203 阅读 · 1 评论 -
C# 的运算符重载:隐式类型转换
文章目录类型转换是什么?函数重载是什么?运算符重载是什么?重载加法运算符重载类型转换运算符类型转换是什么?类型转换就是把数据从一种类型转换为另一种类型。在 C# 中,类型转换有两种形式:隐式类型转换 - 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。显式类型转换 - 显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。下面的实例显示了一个显式的类型转换:namespace Typ原创 2020-11-23 10:51:51 · 3010 阅读 · 0 评论 -
C#枚举的位运算
文章目录一、枚举二、位运算一、枚举枚举类型是名称与值的组合。枚举类型是值类型。public enum Options{ Insert, Update, Save, Delete, Query}编译器会给上面补充完整,默认从0开始,依次赋值。二、位运算我们可能需要多个枚举的组合来满足我们的需要。位运算是针对二进制位进行的运算,常用的位运算主要有与(&), 或(|原创 2020-09-29 18:40:52 · 2175 阅读 · 0 评论 -
C#中?和??运算符的使用
文章目录1.数据类型后加(?)2.(??)运算符3.变量后面加(?)1.数据类型后加(?)C#语法中一个个问号(?)的运算符是指:可以为 null 的类型。MSDN上面的解释:在处理数据库和其他包含不可赋值的元素的数据类型时,将 null 赋值给数值类型或布尔型以及日期类型的功能特别有用。例如,数据库中的布尔型字段可以存储值 true 或 false,或者,该字段也可以未定义。int? x = null;//定义可空类型变量2.(??)运算符C#语法中两个问号(??)的运算符是指null 合原创 2020-08-17 20:10:45 · 963 阅读 · 0 评论 -
C#泛型的使用
文章目录1.泛型类2.泛型方法3.泛型约束1.泛型类泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。您可以通过数据类型的替代参数编写类或方法的规范。当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理指定的数据类型。下面这个简单的实例将有助于您理解这个概念:using System;using System.Collections.Generic;namespa原创 2020-08-17 19:29:36 · 711 阅读 · 0 评论 -
C# Lamda表达式简介
文章目录一、简介二、基础2.1 表达式Lambda2.2 语句Lambda一、简介Lambda表达式来源于数学家Alonzo Church等人在1920~1930期间发明的Lambad积分。Lambda积分是用于表示函数的一套系统,它使用希腊字母Lambda( λ )来表示无名函数。C# 3.0引入了Lambda表达式,它是一种简化的匿名函数,可用于创建委托或表达式目录树。你也可以将 Lambda 表达式作为参数进行传递,或者将它作用于函数调用值调用后返回的一个函数来使用。二、基础它的语法形式是转载 2020-07-23 11:31:32 · 594 阅读 · 0 评论 -
python操作文件的shutil模块
文章目录安装一、复制文件1.shutil.copy()2.shutil.copy2()3.shutil.copyfile()4.shutil.copyfileobj()5.shutil.copytree()二、删除文件shutil.retree()三、移动文件move()四、案例分享shutil是一个比较强大的python的操作文件的包。安装pip install shutil一、复制文件1.shutil.copy()#返回值是复制之后的路径shutil.copy('来源文件','目标地址'转载 2020-07-22 10:55:44 · 399 阅读 · 0 评论 -
python中sys.stdout、sys.stdin
如果需要更好的控制输出,而print不能满足需求,sys.stdout,sys.stdin,sys.stderr就是你需要的。1. sys.stdout与print:在python中调用print时,事实上调用了sys.stdout.write(obj+’\n’)print 将需要的内容打印到控制台,然后追加一个换行符以下两行代码等价:sys.stdout.write('hello' + '\n')print('hello')2. sys.stdin与inputsys.stdin.read转载 2020-07-02 16:49:11 · 390 阅读 · 0 评论 -
python调用另一个.py文件中的类和函数
文章目录同一文件夹下的调用1.调用函数2.调用类在不同文件夹下调用Pycharm无法识别模块同一文件夹下的调用1.调用函数A.py文件如下:def add(x,y): print('和为:%d'%(x+y))在B.py文件中调用A.py的add函数如下:import AA.add(1,2)或from A import addadd(1,2)2.调用类A.py文件如下:class A: def __init__(self,xx,yy): self转载 2020-07-02 14:35:20 · 505 阅读 · 0 评论 -
C++/Python——字符串
文章目录字符串简介C++Python31.将值转换为字符串并设置其格式2.字符串方法字符串简介字符串实际上是一个 unicode 字符数组。你可以执行几乎所有我们在数组中使用的操作。然而,二者之间还是存在一些区别。字符串的特性在不同的语言之间可能有很大不同。C++与数组相比,我们可以对字符串执行一些额外的操作。#include <iostream>int main() { string s1 = "Hello World"; // 1. concatenat原创 2020-05-23 16:54:21 · 425 阅读 · 0 评论 -
编程语言——文章地图(不全)
文章地图不同语言数据结构数组哈希映射字符串原创 2020-05-23 16:18:17 · 236 阅读 · 0 评论 -
Python基础教程——魔法方法、特性和迭代器
文章目录魔法方法构造函数迭代器生成器魔法方法在Python中,有些名称很特别,开头和结尾都是两个下划线,如__future__。这样的拼写表示名称有特殊意义,因此绝不要在程序中创建这样的名称。在这样的名称中,很大一部分都是魔法(特殊)方法的名称。构造函数构造函数不同于普通方法的地方在于,将在对象创建后自动调用它们。在Python中,创建构造函数很容易,只需将方法init的名称从普通的init改为魔法版__init__即可。class FooBar: def __init__(self): s原创 2020-05-23 15:51:43 · 316 阅读 · 0 评论 -
编程语言——待写博客
1. 编程语言(C++/Python/C#/javascript)中的数据结构数组字符串双指针链表队列栈哈希映射哈希集合二分查找二叉树2. unity操作模块分类+showcaseShader光照模型普通纹理高级纹理(深度/法线)透明屏幕处理卡通渲染物理渲染噪声对象运动Tra...原创 2020-02-25 15:58:51 · 198 阅读 · 0 评论 -
Python简单文件存取
文章目录文件的概念Python中的文件对象打开文件file对象pickle模块文件上下文管理器文件的概念文件是计算机中由操作系统管理的具有名字的存储区域。Python中的文件对象文件对象是处理文件常用的并且全能的工具。这个主要内置对象类型提供了一种可以存取Python程序内部文件的方法。简而言之,内置open函数会创建一个Python文件对象,可以作为计算机上的一个文件链接。在调用ope...原创 2020-04-10 15:36:15 · 257 阅读 · 0 评论 -
C++/Python——哈希表
文章目录哈希表简介哈希映射简介C++Python3哈希集合哈希表简介哈希表是一种使用哈希函数组织数据,以支持快速插入和搜索的数据结构。有两种不同类型的哈希表:哈希集合(理解为set)和哈希映射(理解为dictionary)。哈希集合是集合数据结构的实现之一,用于存储非重复值。哈希映射是映射数据结构的实现之一,用于存储(key, value)键值对。在标准模板库的帮助下,哈希表是...原创 2020-03-14 12:17:52 · 451 阅读 · 0 评论 -
如何在VS2017中查看项目的代码行数?
VS强大的查找功能,可以使用正则表达式来进行查找,这里统计代码行数的原理就是:在所有指定文件中进行搜索,统计匹配的文本行数。但是匹配的行需要满足:非注释、非空等特殊非代码行。vs编辑 | 查找和替换 | 在文件中查找(或者点击下图的图标)查找选项选,选择正则表达式 网上大家说这两个表达式可以满足需求: b*[^:b#/]+.*$^b*[^:b#/]+.*$ 但测试后发现...原创 2020-01-02 23:44:01 · 6182 阅读 · 0 评论 -
【Visual Studio】更加了解它的功能
1.是否显示“0个引用”这样的字样: 工具---选项---文本编辑器---所有语言---CodeLens2.行号、自动换行等: 工具---选项---文本编辑器---所有语言3.显示错误列表: 视图---错误列表4.所有项目通用属性: 视图---属性管理器---Debug/Release---win32-user5.换界面主题: 工具---选项---环境...原创 2018-06-03 17:51:58 · 268 阅读 · 0 评论 -
C++语法和Python语法对比(不全)
Python使用小记C++语法和Python语法对比库的使用operatornumpyC++语法和Python语法对比为了更好的记忆 语法 ,从一种编程语言迅速转到另一种,对比是个不错的方法。TypeC++Python注释单行注释:// 多行注释:/**/单行注释:# 多行注释:''' '''集合只能存储相同类型的变量。数组:int a[10]={...原创 2019-09-27 16:19:04 · 452 阅读 · 0 评论 -
C++的template
可以使用模板来定义函数和类。模板函数语法:template <typename T>#include <iostream>#include <string> using namespace std; template <typename T>inline T const& Max (T const& a, T...原创 2020-01-22 16:42:43 · 144 阅读 · 0 评论 -
C++读写csv文件的测试用例
测试用例的csv文件的格式用Excel打开:用Notepad++打开:编号,输入,预计结果,备注1,"",0,空值2,"1",1,1个值3,"11111",1,1行4,"1111",1,1列5,"00000000000000000000",0,零值需求把测试用例文件中的第二列存成vector<vector<vector<cha...原创 2020-01-15 23:28:53 · 656 阅读 · 0 评论 -
【C++】C++数组初始化方法
转载来源:https://www.cnblogs.com/haoyijing/p/5815035.html定义:int *pia = new int[10]; // array of 10 uninitialized ints此 new 表达式分配了一个含有 10 个 int 型元素的数组,并返回指向该数组第一个元素的指针,此返回值初始化了指针 pia。在自由存储区中创建的数组对...转载 2018-12-17 22:13:55 · 53332 阅读 · 1 评论 -
【C#】Summary注释
看到别人的源码中有这样的注释,感觉挺奇怪,每次这样写会很麻烦吧。/// <summary>/// 这是一个注释/// </summary>/// <returns></returns>查资料后发现,在写好的方法的上一行打出“///”,系统会自动补全。是一个很好用的技巧呢。此外,还有两点作用:1.这些注释可以生成一个xml文件,...原创 2018-12-14 22:53:54 · 8473 阅读 · 0 评论 -
【C#】C#版本和.NET版本以及VS版本的对应关系
版本 .NET Framework版本 Visual Studio版本 发布日期 特性 C# 1.0 .NET Framework 1.0 Visual Studio .NET 2002 2002.1 委托 事件 C# 1.1 .NET Framework 1.1 Visual Stud...转载 2018-12-11 23:13:43 · 1219 阅读 · 0 评论 -
【C#】C++中结构体与类的区别(struct与class的区别)
转载来源:https://www.cnblogs.com/starfire86/p/5367740.html C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!! 既然这些它都能实现,那它和class还能有什...转载 2018-12-11 22:42:53 · 415 阅读 · 0 评论 -
【C#/Unity】常见的变量名前缀
1.p:路径原创 2018-04-22 17:25:43 · 1267 阅读 · 0 评论 -
【C#】在函数参数中碰到看不懂的类型
1.Type:使用typef(类名)来填充这个实参原创 2018-04-22 17:26:39 · 150 阅读 · 0 评论 -
【C#】总是分不清楚static和const两个关键字
https://www.cnblogs.com/chaosimple/archive/2013/03/13/2957744.html大概浏览这篇博客后,我的理解是:static用于在类中定义和对象状态无关的变量、方法。(其实单例模式也是这样,不用实例化对象就可以对这个类中的所有变量和方法进行调用)const用来定义常量,必须初始化,初始化后就不能修改。readOnly用来定义变量,...原创 2018-04-22 17:15:22 · 322 阅读 · 0 评论 -
【C#】关于转义字符的理解
零、为什么会对转义字符产生疑惑呢?(1)它的种类太多了,很多不常用,感觉不熟悉(2)对转义字符进行转义(包括@的使用)(3)系统自动添加的转义字符(比如换行?) 研究后结果如下:其实所有编程语言,拥有转义字符的原因基本上是两点:1:将普通字符转为特殊用途,一般是编程语言中,用于表示不能直接显示的字符,比如后退键,回车键,等。(ASCII中有一些非打印字符, 像换行,响铃...原创 2018-04-22 16:37:37 · 483 阅读 · 0 评论 -
编程语言(C++/Python/C#/javascript)中的数据结构——数组
数组中的操作C++#include <iostream>int main() { // 1. Initialize int a0[5]; int a1[5] = {1, 2, 3}; // other element will be set as the default value // 2. Get Length int size = ...原创 2020-02-25 22:18:43 · 299 阅读 · 0 评论