c#
文章平均质量分 59
TheAI
gogogo
展开
-
using使用
using 关键字有两个主要用途: (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。 (二).作为语句,用于定义一个范围,在此范围的末尾将释放对象。(三).using别名。using + 别名 = 包括详细命名空间信息的具体的类型。 这种做法有个好处就是当同一个cs引用了两个不同的命名空间,但两个命名空间都包括了一个相同名字的类型的时候。当需要用到这个类原创 2017-10-05 18:04:47 · 221 阅读 · 0 评论 -
C# protobuf的使用方法
简介 Protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言。 支持多种编程语言,现:java、c#、c++、go 和 python。 基于二进制,因此比传统的XML表示高效短小得多 作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。 使用1、下载地址:http://code.转载 2018-01-17 17:22:32 · 5807 阅读 · 0 评论 -
C#性能优化总结
1. C#语言方面 1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。 1.1.1 避免不必要的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形。 1.1.1.1 避免循环创建对象 ★ 如果对象并不会随每次循环而改变状态,那么在循环中转载 2018-01-26 11:44:20 · 363 阅读 · 0 评论 -
C#设计模式系列:状态模式(State)
1、状态模式简介1.1>、定义 状态模式的核心思想是允许一个对象在它的内部状态改变时改变它的行为,即不同的状态对应不同的行为。 状态模式的针对性很强,当有状态变化的时候可以选择状态模式。1.2>、使用频率 中等2、状态模式结构2.1>、结构图2.2>、参与者 状态模式参与者: ◊ Context:状原创 2018-02-07 17:15:11 · 2119 阅读 · 0 评论 -
Unity生成脚本自动添加头注释
using System.IO;namespace UGUIFrameWorkEditor {public class ChinarScriptFirstComment :UnityEditor.AssetModificationProcessor{/// <summary>/// 在资源创建时调用/// </summary>/// <...原创 2018-09-04 14:30:44 · 439 阅读 · 1 评论 -
vs 断电调试技巧
vs2010断点调试技巧分享 设置断点:在如下图中的红色圆点处设置断点,红色圆点表示已经在这行设置断点。快捷键F9。 启动调试:按F5或者点击左边红框中的按钮。右边框是开始执行(不调试)Ctrl+F5。 调试工具栏:下面是工具栏中对应的名称和快捷键。 在调试过程中F5是执行到下一个断点。F11是逐语句,在执行到下图中的断点时,按F11会执行到Fibonacci方法里面...原创 2019-02-08 20:39:50 · 1122 阅读 · 0 评论 -
unity 字体颜色上下渐变不同
public class Gradient : BaseMeshEffect{ [SerializeField] private Color32 topColor = Color.white; [SerializeField] private Color32 bottomColor = Color.black; public override vo...原创 2019-03-27 20:35:37 · 936 阅读 · 0 评论 -
华为海外sdk
这次接入一个华为海外sdk(appGallery) 简单记录下其中的一些部分,具体步骤按照官方文档来就行.1 首先是unity 部分目录结构assets 华为签名文件libsvs 导出的cla包和华为给的SDK包res 华为资源文件按照华为文档下载需要的包,文件对应到unity目录AndroidManifest 按照官方文档配置,主要仔细配置,好多坑都是在...原创 2019-04-19 13:46:38 · 1320 阅读 · 0 评论 -
【C#基础】 反射
微软参考文档:https://docs.microsoft.com/zh-cn/dotnet/framework/reflection-and-codedom/reflection反射的实现主要依赖于微软提供的两个命名空间:System.Reflection和System.Type两个命名空间:反射:就是动态的获取程序集,并获取其中类型的元数据,然后访问该类型的过程。可以...原创 2019-05-23 14:39:06 · 209 阅读 · 0 评论 -
浅析C# Dictionary实现原理
浅析C# Dictionary实现原理(转载https://flycode.co/archives/225519)目录一、前言 二、理论知识 1、Hash算法 2、Hash桶算法 3、解决冲突算法 三、Dictionary实现 1. Entry结构体 2. 其它关键私有变量 3. Dictionary – Add操作 4. Dictionary – Find...转载 2019-07-05 17:39:42 · 3530 阅读 · 1 评论 -
unity通过浏览器打开网页
第一种方式:System.Diagnostics.Process.Start("http://www.3dmomoda.com/thingdepot/");//可以自己选择浏览器,也可以用系统设置的默认浏览器,默认浏览器就不需要传入:"IExplore.exe"这个参数//System.Diagnostics.Process.Start("IExplore.exe", "https://ww...转载 2019-09-10 18:33:17 · 4288 阅读 · 0 评论 -
数据结构链表各种问题
一:链表原理 链表是一种数据结构,和数组同级。比如,Java中我们使用的ArrayList,其实现原理是数组。而LinkedList的实现原理就是链表了。链表在进行循环遍历时效率不高,但是插入和删除时优势明显。下面对单向链表做一个介绍。 单向链表是一种线性表,实际上是由节点(Node)组成的,一个链表拥有不定数量的节点。其数据在内存中存储是不连续的,它存转载 2018-01-06 17:58:31 · 600 阅读 · 0 评论 -
unity多线程2
接上回线程,再写一个类,很简单。[csharp] view plain copypublic class NewBehaviourScript : MonoBehaviour { XianCheng xiancheng; void Start () { xiancheng =原创 2017-12-19 11:19:01 · 266 阅读 · 0 评论 -
Unity 多线程
1.Thread 多线程Unity里一般用于Socket连接,开一条线程接消息。2.Queue 队列对象的先进先出集合,可以规定特定类型的队列集合,也可以什么类型都存入队列。 Queue aaa = new Queue(); Queue aaa = new Queue(); 都是可以的。3.lock 关键字主要用于处原创 2017-12-19 11:04:35 · 1132 阅读 · 0 评论 -
Lambda表达式
(一)输入参数在Lambda表达式中,输入参数是Lambda运算符的左边部分。它包含参数的数量可以为0、1或者多个。只有当输入参数为1时,Lambda表达式左边的一对小括弧才可以省略。输入参数的数量大于或者等于2时,Lambda表达式左边的一对小括弧中的多个参数质检使用逗号(,)分割。示例1下面创建一个Lambda表达式,它的输入参数的数量为0.该表达式将显示“This i转载 2017-09-06 13:23:15 · 635 阅读 · 0 评论 -
c#循环中产生伪随机数_C#教程
c#循环中产生伪随机数伪随机数摘要: 本文讲的是c#循环中产生伪随机数_C#教程, 这种结果的原因在于,Random()函数的默认种子是时间,但在循环中产生随机数时,由于运算速度太快,用做种子的时间是相同的(毫秒级),因此产生的随机数序列是相同的,这样最终的随机数就会相同。(基于“线性同余法”的随机数发生器) 解决方法是转发抽手机 云计算 大数据 建站 备案 文档 域名转载 2017-08-23 15:30:39 · 1360 阅读 · 0 评论 -
链表的理解
经过面试谈谈链表,发现掌握还是不全; (含义) 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,链表比较方便插入和删除操作。 (表述)链表(转载 2016-11-30 21:59:25 · 671 阅读 · 0 评论 -
unity 断点续传
using UnityEngine;using System.Collections;using System;using System.Net;using System.IO;public class Load : MonoBehaviour { AsyncOperation l; void Start () { // Application.back原创 2017-11-09 12:24:18 · 478 阅读 · 0 评论 -
单例基类
public class MonoSingleton : MonoBehaviour where T:MonoSingleton { private static T instance;public static T Instance { get { if (null==instance) {原创 2017-11-10 16:14:59 · 454 阅读 · 0 评论 -
c# 从服务器下载资源
try { string savePath = ""//保存路劲 downFileUrl = "";//下载文件链接地址 WebClient wcClient = new WebClient(); WebRequest webR原创 2017-11-20 17:58:50 · 1408 阅读 · 0 评论 -
c#SharpZipLib实现压缩
使用国外开源加压解压库ICSharpCode.SharpZipLib实现加压,该库的官方网站为http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx 使用体验:可以照着例子实现简单的加压解压,可以加压一个文件夹中的所有文件,但没有提供加压子文件夹的说明。 目前网上的一些代码有的无法加压空转载 2017-11-20 18:16:01 · 1007 阅读 · 0 评论 -
Unity中C#代码质量的22条准则
引言我们知道,在C++领域,作为进阶阅读材料,必看的书是《Effective C++》。 而《Effective C#》之于C# ,是类似《Effective C++》之于C++一样的存在。这篇文章,将《Effective C# Second Edition》一书中适用于Unity游戏引擎里使用C#的经验之谈进行了提炼,总结成为22条准则,供各位快速地掌握这本书的知识梗转载 2017-12-01 18:34:12 · 512 阅读 · 0 评论 -
Unity增量更新BsDiff(也适用于整包的增量更新)
前段时间一直在研究增量更新的事情,今天拿来和大家分享一下。相对于传统的热更新,增量更新有明显的优点。游戏在发布后,基本都是以bundle的形式加载资源,如果后期我们在一个1M的bundle里更新了一个1k的资源,对于普通的热更新,这个bundle都是要更新的,用户需要下载整个1M+1k大小的bundle来替换旧版本1M的bundle。bsdiff增量更新的原理在于,它会将新的bundle与转载 2017-12-13 17:00:51 · 4366 阅读 · 3 评论 -
c# 反射机制
[整理]C#反射(Reflection)详解本人理解:装配件:Assembly(程序集)晚绑定:后期绑定MSDN:反射(C# 编程指南)-----------------原文如下--------1、 什么是反射2、 命名空间与装配件的关系3、 运行期得到类型信息有什么用4、 如何使用反射获取类型5、 如何根据类型来动态创建对象6、 如何获取方法以转载 2017-12-18 11:47:42 · 240 阅读 · 0 评论