![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c#
时间不会说谎shane
这个作者很懒,什么都没留下…
展开
-
C# using的用法
1.在文件顶部引用命名空间,如:using System;2.为命名空间或类型定义别名;如果命名空间过长,键入时会比较麻烦,如果该命名空间会在代码中多次调用的话,那么为命名空间定义别名,是比较明智的选择,并且还能够避免类名冲突!是不是很机智啊?!using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebC转载 2020-12-02 11:08:02 · 275 阅读 · 0 评论 -
关于Unity Mono .Net C# 需要了解的一些东西
1 可阅读的一些文章https://blog.csdn.net/qq_39604302/article/details/89888022介绍了一些给予Mono的Unity 开发环境,编译环境中的一些概念。Mono -> IL2CPPhttps://blog.csdn.net/zhurongboyitu/article/details/78709308.Net 是一套标准.Net 的三种实现 .Net Framework、.Net core、Monohttps://www.cnblogs原创 2020-12-01 17:14:50 · 187 阅读 · 1 评论 -
unity中 c# if 判断中的 null
从c++ 转过来的,对于某个类的空判断一直习惯用if(clssInstance) 或者 if (!clssInstance) ,转过来Unity 发现 有些类可以if(clssInstance) 但是有些类只能if(clssInstance != null),最近了解才知:继承UnityEngine.Object的类才能if(clssInstance),因为UnityEngine.Object实现了对bool的隐式转换public static implicit operator bool(Ob原创 2020-11-29 23:51:42 · 2268 阅读 · 0 评论 -
C# 协变、逆变 看完这篇就懂了
原标题:C# 协变、逆变 看完这篇就懂了转自:Virgil-Zhoucnblogs.com/VVStudy/p/11404300.html一、基本概念官方:协变和逆变都是术语,前者指能够使用比原始指定的派生类型的派生程度更大(更具体的)的类型,后者指能够使用比原始指定的派生类型的派生程度更小(不太具体的)的类型。公式:协变:IFoo<父类> = IFoo<子类>;逆变:IBar<子类> = IBar<父类>;暂时不理解没关系,您接着往下看。转载 2020-11-07 13:10:29 · 1116 阅读 · 0 评论 -
深入理解C#中的IDisposable接口
写在前面在开始之前,我们需要明确什么是C#(或者说.NET)中的资源,打码的时候我们经常说释放资源,那么到底什么是资源,简单来讲,C#中的每一种类型都是一种资源,而资源又分为托管资源和非托管资源,那这又是什么?!托管资源:由CLR管理分配和释放的资源,也就是我们直接new出来的对象;非托管资源:不受CLR控制的资源,也就是不属于.NET本身的功能,往往是通过调用跨平台程序集(如C++)或者操作系统提供的一些接口,比如Windows内核对象、文件操作、数据库连接、socket、Win32API、网络等。转载 2020-10-02 19:55:25 · 575 阅读 · 0 评论 -
c#中的析构函数
析构函数析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。以C++语言为例,析构函数名也应与类名相同,只是在函数名前面加一个波浪符,例如stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。只能有一个析构函数,不能重载。如果用户没有编写析构函数,编译系统会自动生成一个缺省转载 2020-10-02 19:31:23 · 304 阅读 · 0 评论 -
C#隐式实现接口成员与显示实现接口成员(C# 接口实现的方式)
C# 接口实现的方式C#在类中实现接口。实现接口的类必须包含该接口的所有成员的实现代码,且都是公共的。实现接口成员有隐式实现和显式实现两种方法。1. 隐式实现如下图所示,类MyClass隐式地实现了接口IMyInterface的DoSomething和DoSomethingElse两个方法。对于隐式实现的成员,既可以通过类对象实例来访问,也可以通过接口来访问。如Main函数所示,两种调用方法都能成功。<span style="font-size:12px;">namespace Ch10原创 2020-10-02 09:48:59 · 1044 阅读 · 0 评论 -
C#深入学习:泛型修饰符in,out、逆变委托类型和协变委托类型
在C#中,存在两个泛型修饰符:in和out,他们分别对应逆变委托和协变委托。我们知道,在C#中要想将一个泛型对象转换为另一个泛型对象时,必须要将一个泛型对象拆箱,对元素进行显式或隐式转换后重新装箱。例如:List<Object> lobject=new List<Object>(){"0","1","2"};List<int> lint=new List<int>();foreach(Object obj in lobject){ lint.Add((转载 2020-10-02 09:26:17 · 754 阅读 · 0 评论 -
c#获取枚举的下一个值
如何在C#中获取下一个(或上一个)枚举值(How to get next (or previous) enum value in C#)我们经常会流程相关的枚举代码,或者枚举值有端点的代码可以想到的一种方法public enum eRat { A = 0, B=3, C=5, D=8 };Array a = Enum.GetValues(typeof(eRat));int i=0 ;for (i = 0; i < a.GetLength(); i++){ if (a.GetV原创 2020-08-09 00:24:57 · 935 阅读 · 0 评论 -
c# 对系统类进行扩展
using UnityEngine;using System.Collections;using System.Collections.Generic;namespace zymShine{public static class ListExtentions{public static void SafeForeach(this IEnumerable<System.Object> thiz, System.Action<System.Object> action){原创 2020-08-04 21:16:03 · 183 阅读 · 0 评论 -
c# 数据结构
一.前言Unity3D是如今最火爆的游戏开发引擎,它可以让我们能轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型的互动内容。它支持2D/3D游戏开发,据不完全统计,目前国内80%的手机游戏都是用Unity3D开发。由于Unity3D在开发过程中使用最多的是C# 语言,所以就要合理的使用C#提供的一些数据结构是非常有必要的,合理的选择数据结构可以加快开发速度,提高游戏运行性能,不合理的使用数据结构则会导致游戏运行性能降低,加大开发复杂程度!先通过表格看看常用的数据结构:C#常用数据结构原创 2020-08-04 18:33:05 · 191 阅读 · 0 评论 -
c# 关键词out 和 ref区别
首先:两者都是按地址传递的,使用后都将改变原来参数的数值。其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所以你必须初始化一次。这个就是两个的区别,或者说就像有的网友说的,ref是有进有出,out是只出不进。ref(C# 参考)ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。原创 2020-08-01 16:28:01 · 103 阅读 · 0 评论