c#
梦想不断超越
Web开发、App、游戏
展开
-
[Unity]Base类的对象为空错误解决
public class Rule : MonoBehaviour{}Rule rule2 = new Rule();我在编码的时候写了这样的代码,也就是在Mono子类中加了new实例化,但是呢,.Net的Object和Mono的GameObject是不一样的东西,如果new实例化,那么不会自动执行Start(),Update()等方法,所以造成了base类对象为空,那么解决此类问题,直接再新建一个类不带Mono继承即可。public class Rule {}Rule rule2 = ne.转载 2020-05-12 10:02:04 · 881 阅读 · 0 评论 -
[C#]获取所有枚举的Description
不多说了,直接看代码吧,我这边使用了一个一次性的方法,适合图方便的朋友们。/// <summary>/// 获取所有枚举名字/// </summary>/// <returns></returns>List<string> GetAdditionTypeNames(){ List<string> nam...原创 2020-05-05 09:44:36 · 780 阅读 · 0 评论 -
Unity赛车码表原理
近日在制作赛车游戏时,遇到了码表,较为有趣,遂记录如下。首先观察码表速度0mph时,指针Roatation的z轴角度为-133然后140mph时的z轴角度为-43,则由 140 mph = 270°=> 1 mph = 270/140 °=> α mph = α * 270 / 140 °之间的夹角正好为90度,那么按顺时针的话,从0mph到14...原创 2020-02-24 16:44:18 · 1307 阅读 · 1 评论 -
Unity摄像机平滑处理跟随
赛车游戏中在处理摄像机平滑处理时遇到了一些问题,遂通过如下代码可以实现平滑处理。效果:在目标进行转弯时,会平滑进行摄像机跟随,而不是直接旋转位置。代码如下:using System.Collections;using System.Collections.Generic;using UnityEngine;public class SmoothFollow : Mono...原创 2020-02-24 14:58:45 · 2411 阅读 · 0 评论 -
Unity中使用VisualStudio的Monobehavior不变绿不自动补全
在使用Unity编辑代码的时候,使用VisualStudio会出现MonoBehaviour不变绿的情况,是由于没有开启默认的编辑器造成的,通过以下步骤即可。原创 2020-01-08 21:23:35 · 5733 阅读 · 4 评论 -
Unity物体摆动脚本
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Jiggler : MonoBehaviour{ [Range(0, 1)] public float power = .1f; [Header("Position Jiggler")]...转载 2019-11-09 20:00:15 · 2238 阅读 · 3 评论 -
C# 获取对象的地址
测试代码如下: public class RAM { public void Test() { try { int num_Size = 100000000; // 获取整型的地址 var addr = ...原创 2018-02-08 10:39:03 · 12365 阅读 · 0 评论 -
C#单元测试研究 通过DLL进行测试
通过DLL进行测试首先新建一个控制台项目然后打开program.cs,右键任意空白弹出快捷菜单,选择创建单元测试,打开后选择“添加程序集”,并找到需要测试的DLL文件。之后找到需要测试的方法,勾选确定进入后编写测试用例即可原创 2018-01-10 14:20:42 · 1336 阅读 · 0 评论 -
C#中右击弹出快捷菜单时对应的当前所右击的TreeNode
首先在右键弹出快捷菜单的事件执行之前设置事件所得到的节点为当前事件的节点private void StruTreeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e){ StruTreeView.SelectedNode = e.Node;}其次,在进入快捷菜单的按钮事件获得当前TreeView的选中原创 2018-01-08 16:58:08 · 895 阅读 · 0 评论 -
C# 未找到类型“***”上的构造函数异常原因
在通过反射机制Activator.CreateInstance(Type),进行对象创建的过程中,发生了“未找到类型“*”上的构造函数”异常,最后发现是因为某些构造函数没有空构造函数所造成的。所以在通过CreateInstance创建对象时,注意要创建的类型是否具有空构造函数,如果没有需要使用Activator.CreateInstance(Type, Object[])方法增加参数来进行创建原创 2017-12-08 09:23:08 · 8566 阅读 · 0 评论 -
C# 异步委托使用
static void Main(string[] args) { // 创建委托并注册方法 TakesAWhileDelegate dl = TakesAWhile; // 创建异步结果,执行委托 IAsyncResult ar = dl.BeginInvoke(1, 3000, null, null); // 判断是否执原创 2017-12-07 11:24:46 · 328 阅读 · 0 评论 -
C# 深拷贝源码
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml;using System.Reflection;namespace RTDevSoftFucFrame{ /// <summary>自动存储基类接口 /// 实现GetRTSa原创 2017-12-12 11:35:07 · 286 阅读 · 0 评论 -
C# StreamReader文件逐行读取为List<string>
Talk is cheap,show me the code! /// <summary>读取文件,返回一个含有文件数据的行列表</summary> /// <param name="TxtFilePath">文件路径</param> /// <returns>文件数据的行列表</returns> private List<string>原创 2017-08-04 09:17:11 · 8450 阅读 · 0 评论 -
C# 使用List泛型读取和保存文本文件
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Management;//添加引用using System.IO;namespace ConsoleApplication1{ class Program { stati原创 2017-08-14 12:00:14 · 1942 阅读 · 0 评论 -
C# 将字符串写入文件并打开该文件
// 1 写入文件System.IO.File.WriteAllText(@"C:/Users/jclu/Desktop/test1.txt", string, Encoding.UTF8); // string为需要写入的字符串Console.WriteLine("执行成功!按任意键继续..."); Console.ReadKey();// 2 打开文件System.Diagnostics原创 2017-08-14 12:02:00 · 1892 阅读 · 0 评论 -
C# 静态方法使用
// 创建一个静态类Astatic class A{ // 创建一个静态方法 public static string Print(this CPoint3 PointA) { return "AAA"; }}// 创建一个使用类Bpublic class B{ public static void Main() {原创 2017-08-14 12:03:49 · 384 阅读 · 0 评论 -
C#反射获取文件流实现逐行读取
// 0 导入包,"using System.Reflection;"和"using System.IO;"// 1 获取Assembly对象,Load的参数是你的项目的名称Assembly AssemblyObj = Assembly.Load("Work");// 2 获取你的文件资源的名字,(可选)string[] Names = AssemblyObj.GetManifestReso原创 2017-08-24 10:58:21 · 916 阅读 · 0 评论 -
C#定义泛型方法错误-类型“T”必须是引用类型才能用作泛型类型或方法“System.Data.Linq.Table<TEntity>”中的参数“TEntity”
错误写法:public void GetTableElements<T>(){ Table<T> UserTable = m_DataContext.GetTable<T>();}解决方法:在()后面加上where T : class即可,表示为泛型T为类型才能进行转换public void GetTableElements<T>() where T : class{ Table原创 2017-09-12 10:10:36 · 22187 阅读 · 0 评论 -
C# 使用Stopwatch监视计时器来计算函数执行时间
Talk is cheaper, show me the code.static void Main(string[] args){ // 创建监视器 System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); stopwatch.Start(); // 开始监视代码 /原创 2017-09-22 10:30:18 · 929 阅读 · 0 评论 -
C# 64位系统无法读取Access数据库
在64位系统中对于无法连接Access数据库的问题,查询了很多,网上很多说法并不对。 原来的配置字符串:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=…首先第一步先修改配置字符串:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=…第二步:下载AccessDatabaseEngine_64.exe,注意这边如果下原创 2017-10-25 15:59:15 · 5952 阅读 · 0 评论 -
C# 委托delegate使用方法
委托 delegatedelegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。与其它的类不同,delegate类能够拥有一个签名(signature),并且它”只能持有与它的签名相匹配的方法的引用”。它所实现的功能与C/C++中的函数指针十分相似。它允许你传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m。但与函数指针相比,delegate有许多函数委托转载 2017-08-17 10:22:35 · 990 阅读 · 0 评论