![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#学习日记
文章平均质量分 53
Jason?13
一个做游戏研发的five罢了
展开
-
C#调用C++Dll库小示例
C#调用C++Dll库小示例先巩固复习语言的分类:Program Errors(程序错误)trapped errors:导致程序终止执行(程序意识到出错,使用对应的错误处理机制),如除 0,Java 中数组越界访问untrapped errors:程序出错后继续执行(其实并不一定保证继续执行,程序本身并不知道出错,也没有对应的错误处理机制),如 C 语言里的缓冲区溢出,Jmp 到错误地址Forbidden Behaviors(禁止行为)程序在设计的时候会定义一组 forbidden behav原创 2021-12-03 22:24:08 · 583 阅读 · 0 评论 -
个人unity学习手册
1.寻找某节点下的指定条件的子节点:Attention:采用Foreach的遍历方法会把自己算计去哦foreach (var VARIABLE in Cube.GetComponentsInChildren<Biaoji1>())//寻找挂载了Biaozhi1脚本的子节点 { Debug.Log(VARIABLE.name); }上图中Cube和Cube4,5,6没有挂载Biaoji1的脚本打印结果:通过这种迭代器遍历(暂不原创 2021-05-12 19:18:29 · 292 阅读 · 0 评论 -
C#关键字(长更)
C# key wordchecked: 检测运算溢出与否 报stack exceptionoverflowuncheck: 对运算不进行检测运算是否溢出**is: 1. 检查对象类型的兼容性,并返回结果true(false);2.不会抛出异常;3.如果对象为null,刚返回false;a is b返回的是true/falseas: 1.检查对象类型的兼容性,并返回转换结果,如果不兼容则返回null;2.不会抛出异常3.如果结果判断为空,则强制执行类型转换抛出NullReferenceExce原创 2021-03-01 16:40:42 · 156 阅读 · 0 评论 -
关于C#引用的一些坑
这几天在找项目的bug发现前辈的引用写法有些问题,导致数据不同步。所以写一篇文章记录一下:C#里面有很好用的各种容器,list dictionary等等,但是我们普通用法就是以一些值类型或者“string”来作为key,但是项目一旦大了,key可能就是一个复杂的引用类型。```csharpusing System;using System.Collections;using System.Collections.Generic;namespace test2021_2_25{ c原创 2021-02-25 17:57:35 · 288 阅读 · 0 评论 -
C# 关键字 where 泛型约束
**泛型约束:**顾名思义,用以约束范型。带佬文章:C# 泛型方法Where 约束-----foreverhot1019我在此就写一下自己code出来的一些案例,用于记忆,如若有错,请联系我进行更正。带佬文章写有六种约束,我暂且不这样记,我以自己的方法记忆,where就是一种约束,至于怎么约束再具体看。首先约束的 样子是 where T : ____+ keywordwhere T : class 必须是引用类型 class test_limit_class<T> wher原创 2020-12-02 16:07:51 · 419 阅读 · 0 评论 -
C#关于继承 派生类构造函数的问题
事出有因:今天看项目代码碰到了C# 关键字 where ,我起先想到的是跟数据库的sql语句一样的where。我搜了资料后发现该关键字和泛型约束有关,于是我又继续学习关于泛型约束的知识,然后看到关于泛型类继承的问题。于是自己就code了一些代码: class Human { //public Human() //{ //Console.WriteLine("this is from HHHHHhuman constructor!");原创 2020-12-02 11:42:05 · 376 阅读 · 0 评论 -
C#学习日记——泛型结构体+共享栈的实现
using System;using System.Linq.Expressions;namespace stackqueue{ struct Stack<T> { public T[] Array; public int top1; public int top2; public Stack(int len, int t1 =-1,int t2=0) { Array =原创 2020-09-06 14:01:19 · 257 阅读 · 0 评论 -
C# 编译时多态和运行时多态
C#支持两种类型的多态性:● 编译时的多态性编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。● 运行时的多态性运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。C#中,运行时的多态性通过虚成员实现。具体的检查的流程如下:1、当调用一个对象的函数时,系统会直接去检查这个对象申明定义的类,即申明类,看所调用的函数是否为虚函数;2、如果不是虚函数,那么它就直接执行该函数。而如果有virtual关键字,也就是一个虚原创 2020-08-19 22:37:49 · 780 阅读 · 0 评论 -
C# 装箱与拆箱
装箱在内存上的操作:原创 2020-08-18 20:57:26 · 69 阅读 · 0 评论 -
C#中 “|” 和 “||” “&”和“&&”区别
在写判断语句的时候,我图方便一般都会写“|和&”的语句。但是今天写题的时候发现有问题。if(①|②|③){}if(①||②||③){}“|”:程序在判断时,即使①已经为true了,但是②,③会继续进行判断。“||”:程序在判断的时候如果①已经为true了,则停止继续对②③的判断进入下面的语句。类似python的或/且语句(貌似叫惰性)。&语句也一样。所以就会造成一些问题比如:此处判断语句中:第一个为true,第二个索引超出边界,如果使用的是 ”|“ 符号,则程序会原创 2020-08-01 17:43:09 · 2359 阅读 · 0 评论 -
C#深入理解-排序
当我们用泛型list存储了一系列数据,而要求以某一个字段作为排序对象时,可以用很多方法去实现。1.实现接口IComparer<*>(泛型情况)2.用委托实现3.匿名方法创建委托4.扩展方法class human:IComparer<human>{ private string name; public string Name { set { Console.WriteLine("被调用");原创 2020-07-21 15:35:47 · 144 阅读 · 0 评论 -
C#学习日记(接口)
**C# 是一门 单继承 多接口 来实现多态的语言****实现接口:**namespace Interface{ interface Ilisttable { string[] Table { get; } void func(int a,int b); } cl...原创 2020-04-23 11:24:53 · 172 阅读 · 0 评论 -
C#学习日记(委托事件)
委托事件:何为委托事件?个人理解:委托其他函数办事的事件。原创 2020-04-15 18:58:20 · 152 阅读 · 0 评论 -
C#学习日记(is/as)
is判断左边实例化类是否可转为右边的类,若能则返回true,若不能则返回false。as与is一样能判断是否可转,但是用法不同的是如下class A{ public string data;}...原创 2020-04-09 09:32:45 · 142 阅读 · 0 评论 -
C#学习日记(继承中virtual和new)
今天学到C#的继承那一章,C#和java一样只能是单继承(只能有一个父类),而C++是可以多继承的,学到覆盖和重写时,发现了C#独有的特点:virtual 和 new 的方法继承特点。父类:...原创 2020-04-08 12:09:19 · 321 阅读 · 0 评论 -
C#学习日记(签名,扩展方法)
C# 签名 ☞ 参数和返回值C#扩展方法 ☞https://blog.csdn.net/sgmcumt/article/details/88044804原创 2020-04-07 14:47:40 · 140 阅读 · 0 评论