![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#语言
文章平均质量分 86
弹吉他的小刘鸭
Happiness is nothing but self-building.
展开
-
Unity的[Obsolete]属性
参考:https://www.tutorialspoint.com/What-are-obsolete-attributes-in-Chash参考:https://docs.microsoft.com/en-us/dotnet/api/system.obsoleteattribute?view=net-6.0参考:https://stackoverflow.com/questions/31804260/do-unity-functions-that-are-obsolete-still-workC#自身原创 2022-07-07 12:09:11 · 2201 阅读 · 0 评论 -
.NET Book Zero 读书笔记(三)(从C++的使用者角度学习C#)
InterfacesInterface看起来像是Class或者Struct,但是里面的method都没有body,比如:// Interfaces are entirely overhead! They contain no code.public interface IComparable{ int CompareTo(object obj);}.NET Framework里的接口都是I开头的,但是这也只是一种命名习惯,Interfaces里也可以有Property,因为Property其原创 2021-09-05 01:25:56 · 479 阅读 · 0 评论 -
.NET Book Zero 读书笔记(二)(从C++的使用者角度学习C#)
Methods and FieldsC#里把函数叫做method,所有的C#程序都需要有一个叫做Main的method。在类里定义、但是又不在类内函数里定义的变量叫做field。跟C++一样,函数的前面也有传值和传引用的方式,对于struct类型,写法如下:// 这是两个函数static void AlterInteger(int i){}static void AlterInteger(ref int i){}static void main(){ int i = 22; Al原创 2021-07-28 00:03:57 · 576 阅读 · 0 评论 -
C#里 =>的用法
问题看到有人写这样的代码,这里的=>让人感到疑惑,如果说它是Lambda表达式的写法,那么跟C++的->类似,比较好理解,但是明显下面这里的代码不是属于Lambda表达式的范围public class GraphSaveUtility{ private DialogueGraphView _targetGraphView; private List<Edge> edges => _targetGraphView.edges.ToList(); p原创 2021-07-03 16:57:52 · 17474 阅读 · 3 评论 -
.NET Book Zero 读书笔记(一)(从C++的使用者角度学习C#)
一. 什么是.NET.NET.NET实际上是一堆动态链接库的集合,是一个大型的类的库,里面的东西可以用来做Web应用或客户端应用。.NET库并不是C#语言的专属,实际上任何语言都能使用.NET,但使用.NET库需要满足以下两个标准:使用.NET库的语言必须满足对应的语言要求使用.NET库的系统适用于第一条提出的编程语言,系统需要定义基本的数据成员(比如int,float,string).........原创 2021-04-11 14:59:14 · 779 阅读 · 0 评论 -
C# interface和abstract class
Abstract Class在C++中,有纯虚函数的类是抽象类,抽象类不能被实例化,只能作为基类使用,里面的纯虚函数就是其子类必须实现的接口,所以虚基类也叫做接口类。也就是说,抽象类只能通过接口和作为其它类的基类使用,写法如下所示:class ExampleCPlusPlus{public: virtual void fun1() = 0; //纯虚函数 vrtual void fu...原创 2020-04-17 19:20:30 · 292 阅读 · 0 评论 -
C# 中注释/// <summary>是什么意思
平时自己写代码的时候,注释都是用两个斜杠这么写的//但是我在实际工作时,看到别人写的函数接口前面都是这么写注释的:/// <summary>/// 这是一个函数的例子/// </summary>void Funtion(){ ...}经过查找资料,我发现原来写注释的方法并不好,如果我用这种方式写注释,会更方便的在使用函数的时候看到对应的注释。举个例子,...原创 2020-04-09 18:42:45 · 17291 阅读 · 2 评论 -
C#创建数组对象报错
之前是用C++的,对C#语言不熟悉,今天居然创建个对象的数组,对数组赋值的时候出错了new class array NullReferenceException: Object reference not set to an instance of an object在此记录一下,加深印象。为了实现上述操作,在C++里我是这么写的:#include<iostream>cla...原创 2020-02-24 23:10:59 · 912 阅读 · 1 评论 -
Unity如何在Instantiate的时候,不改变原prefab默认的方向
prefab里面设置好了旋转角度,但是每次Instantiate之后,可能会发生改变。解决办法有两种:(1)创建一个空物体,把prefab拖到里面,旋转好对应的角度,再整体作为一个新的prefab。(2)这样写Instantiate函数:Instantiate (myPrefab, new Vector3 (x ,y, z), myPrefab.transform.rotation);...原创 2019-09-17 19:24:20 · 2659 阅读 · 0 评论 -
关于UnityGC的一些心得
1. 对于协程函数,BeginSample、EndSample之间注意不能存在yeild return null,否则可能导致Unity客户端卡死、手机卡死等现象。个人分析:Begin和End配对分析的是单帧结果,出现yeild return null代表该区间将会分两帧甚至多帧完成。(网上看到的,不确定真实性)。2. Profiler中WaitForTargetFPS是为了平衡显示器和显卡之间...原创 2019-09-10 12:36:22 · 254 阅读 · 0 评论 -
C#中的值类型和引用类型
1. C#中的数据类型分为值类型,和引用类型值类型,改变只改变该变量的值,引用类型记录的是一个地址,记录其包含的所有变量的存储位置。举个例子using UnityEngine;using System.Collections;public class DatatypeScript : MonoBehaviour { void Start () { ...原创 2019-09-10 12:35:23 · 219 阅读 · 0 评论 -
C#中的IEnumerable和IEnumerator
1. 看到有这么写的,没懂是什么意思: public class BinaryHeap<T> : IEnumerable<T> where T : IComparable <T> { private List<T> mHeap; ..... }具体不是很清楚,总之是为了让数据结构支持foreach操...原创 2019-09-10 12:34:46 · 500 阅读 · 0 评论 -
C#的get和set用法
转自 https://www.cnblogs.com/zhangtaotqy/p/7998543.html我们在学习C#语法的属性时,都要首先和GET,SET访问器打交道,从英文的字面意思上理解,GET应该就是获得什么什么,而SET应该是设置什么什么,那我们看一下,官方是怎么定义这对访问器的:get是读取属性时进行的操作,set是设置属性时进行的操作。定义一个属性如果只有get,这个属性就是只读...转载 2019-02-23 18:02:25 · 26340 阅读 · 7 评论