随笔分类 - C#
摘要:Java和C#是极其的相似,两种语言都各有优劣,这里对Java和C#中string的异同进行一下介绍。 相同点: 1/ 在java和C#中string都被看做对象来处理,都有处理字符串的丰富的方法。 2/ 在java和C#中string都是不可变类。 亦即,当两个string变量s1,s2指向同一个
阅读全文
摘要:C#特性[Attribute]是一类特殊的语法结构,我们掌握了特性的相关用法,就能在运行时,通过反射,得到一些额外的属性,给后续程序逻辑进行使用和判断。 我们在日常的代码中,通常都是通过反射来获得相关特性对象,再赋值给相关对象,进行获取判断。 我们接下来看看,我们日常工作中的特性的使用。 构建自定义
阅读全文
摘要:在编程中,我们经常会用到接口,那什么是接口呢? 接口描述的是可属于任何类或结构的一组相关功能,所以实现接口的类或结构必须实现接口定义中指定的接口成员。 接口使用interface 关键字进行定义,可由方法、属性、事件、索引器或这四种成员类型的任意组合构成。 ##接口的特性: 1.接口类似于抽象基类,
阅读全文
摘要:c# yield关键字的用法 1.yield实现的功能 yield return: 先看下面的代码,通过yield return实现了类似用foreach遍历数组的功能,说明yield return也是用来实现迭代器的功能的。 using static System.Console; using S
阅读全文
摘要:大家好,这是 [C#.NET 拾遗补漏] 系列的第 08 篇文章,今天讲 C# 强大的 LINQ 查询。LINQ 是我最喜欢的 C# 语言特性之一。 LINQ 是 Language INtegrated Query 单词的首字母缩写,翻译过来是语言集成查询。它为查询跨各种数据源和格式的数据提供了一致
阅读全文
摘要:最近在看《C#高级编程(第九版)》这本书,看到了泛型接口这章。其中关于协变和逆变没太理解,讲得有点坑爹,网上查了许多资料,总算(感觉)弄清楚了,来这里记录一下。 一、协变和逆变是什么? 先从字面上理解 协变(Covariance)、逆变(Contravariance)。 co- 是英文中表示“协同”
阅读全文
摘要:# 前述 在C#里 , foreach语句可以用来遍历数组中的元素 ,如下所示 : int[] arr1 = { 10 , 11 , 12 , 13} ; //定义数组 foreach ( int item in arr ) //枚举元素 Console.WtitLine( $"Item value
阅读全文
摘要:一、多线程是什么? 说起多线程,那么就不得不说什么是线程,而说起线程,又不得不说什么是进程。 进程可以简单的理解为一个可以独立运行的程序单位,它是线程的集合,进程就是有一个或多个线程构成的。而线程是进程中的实际运行单位,是操作系统进行运算调度的最小单位。可理解为线程是进程中的一个最小运行单元。 那么
阅读全文
摘要:async/await 本身是个语法糖 看我这篇文章: https://blog.csdn.net/weixin\_46879188/article/details/120849575 C#的另一个语法糖:用yield实现IEnumerable接口也是采用这种技术。 使用async/await和.R
阅读全文
摘要:许多流行的语言都支持使用本地函数,并且在C#7中,对它们的支持几乎没有大张旗鼓地宣布。作为一个自认为是C#超级用户的人,我很少利用该功能,直到我意识到它对提高代码可读性有多大帮助,特别是在上下文中,它代替了注释/黑客,单元测试和一般来说,只是为了清理东西。 究竟什么是本地函数? 本地函数是嵌套在另一
阅读全文
摘要:c# async / await工作流可以简化你的代码,让你在Unity中对游戏有更多的控制。 学习如何转换当前协程工作流、什么是任务、如何运行顺序和同步代码以及如何从异步函数返回数据。 例子: 我们要控制三个物体在同一时间旋转以及按顺序旋转 层级视图: 相同时间旋转时,异步代码如下 using S
阅读全文
摘要:##AES.cs代码如下: using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Utils { /// <summary> /// AES加密解密 /// </
阅读全文
摘要:continue:退出循环体的当前循环 break:由内到外退出循环体,如果没有则会直接退出当前函数体,类似于返回键 return:退出当前函数体,并返回值,类似于大反键
阅读全文
摘要:尽管在.NET framework下我们并不需要担心内存管理和垃圾回收(GarbageCollection),但是我们还是应该了解它们,以优化我们的应用程序。同时,还需要具备一些基础的内存管理工作机制的知识,这样能够有助于解释我们日常程序编写中的变量的行为。在本文中我将讲解栈和堆的基本知识,变量类型
阅读全文
摘要:/// <summary> /// 重载运算符 向量3相乘 /// </summary> public class Vector3Multiply { public float x { get; private set; } public float y { get; private set; }
阅读全文
摘要:C#中的string是一个引用类型,String对象是存放在堆上,而不是堆栈上的,因此,当把一个字符串变量赋给另一个字符串时,会得到对内存中同一个字符串的两个引用。但是大家有没有想过,为什么修改其中一个字符串,另外一个不受影响呢? 原来,当我们把一个字符串变量赋给另一个字符串时,就会创建一个全新的S
阅读全文
摘要:using UnityEngine; using System.Collections; using System.Xml.Linq; using UnityEditor; using System; public class NewBehaviourScript : MonoBehaviour {
阅读全文
摘要:##转换运算符 public class Bool { public bool value; // 把Bool强制转换为bool public static explicit operator bool(Bool v) { return v.value; } // 把bool隐式转换为Bool pu
阅读全文
摘要:List是数组链表 LinkedList是指针链表、双向链表 选择List还是LinkedList要看你的使用特点. 数组链表访问快,复杂度O(1),但是添加删除复杂度O(n) 指针链表访问复杂度是O(n),但是添加删除很快O(1)
阅读全文
摘要:好,下面我来分享一道有意思的面试题,说他有意思,是因为这个题目的意义很重要的,好了不卖官司了,先看看题目: 三维空间,Y轴朝上,重力加速度为大小为g, 已知A(x1, y1, z1), B(x2, y2, z2)是三维空间中的两个点,现在从A点发射一个物体,希望该物体经过时间t之后,落在B点,请给出
阅读全文

浙公网安备 33010602011771号