Home
Yzngo
Cancel

Csharp对象构建顺序

内存初始化顺序 new操作符内部和构造函数是像下面这样交互的。new操作符从内存管理器获取“空白”内存,按如下顺序初始化这块内存。调用构造函数时,将对“空白”内存的引用作为隐式的this参数传给构造函数。构造函数链剩余的部分开始执行,在构造函数之间传递引用。这些构造函数都没有返回类型(行为都像是返回void)。构造函数链上的执行结束后,new操作符返回内存的引用。现在,该引用指向的内存处于...

Csharp String

C#中的string 几种不同的字符串 插值字符串 $ $@可以同时使用 string name = "XXX"; string school = "YYY"; Debug.Log($"demo {name} {school}"); 格式化字符串中的数值要.ToString()。为了解读内插字符串,系统需要创建由System.Object引用所构成的数组,以便将调用...

Unity Transform

移动 适用于既没有物理系统,对移动又没有特殊要求的情况。 不易处理障碍物阻挡的问题。 private float speed = 10f; float v = Input.GetAxis("Horizontal"); float h = Input.GetAxis("Horizontal"); float vOffset = v * Time.deltaTime * spe...

Monobehaviour生命周期

洗牌算法

public static void Shuffle<T>(this T[] array) { int n = array.Length; while (n > 1) { var k = Random.Rang...

Acw 836 合并集合

题目 一共有 n 个数,编号是 1∼n,最开始每个数各自在一个集合中。 现在要进行 m 个操作,操作共有两种: M a b,将编号为 a 和 b 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; Q a b,询问编号为 a 和 b 的两个数是否在同一个集合中; 输入格式 第一行输入整数 n 和 m。 接下来 m 行,每行包含一个操作指令,指令为 ...

Pat 1498 求树最深的根

题目 一个无环连通图可以被视作一个树。 树的高度取决于所选取的根节点。 现在,你要找到可以使得树的高度最大的根节点。 它被称为最深的根。 输入格式 第一行包含整数 N,表示节点数量。 节点编号为 1∼N。 接下来 N−1 行,每行包含两个整数,表示两个节点之间存在一条边。 输出格式 输出最深的根的节点编号。 如果最深的根不唯一,则按照从小到大的顺序,将它们依次输出,每个...

Pat 1497 树的遍历

题目 一个二叉树,树中每个节点的权值互不相同。 现在给出它的后序遍历和中序遍历,请你输出它的层序遍历。 输入格式 第一行包含整数 N,表示二叉树的节点数。 第二行包含 N 个整数,表示二叉树的后序遍历。 第三行包含 N 个整数,表示二叉树的中序遍历。 输出格式 输出一行 N 个整数,表示二叉树的层序遍历。 输入样例: 7 2 3 1 5 7 6 4 1 2 3 4 5 6...

Pat 1476 数叶子结点

题目 家庭关系可以用家谱树来表示,给定一个家谱树,你的任务是找出其中没有孩子的成员。 输入格式 第一行包含一个整数 N 表示树中结点总数以及一个整数 M 表示非叶子结点数。 接下来 M 行,每行的格式为: ID K ID[1] ID[2] ... ID[K] ID 是一个两位数字,表示一个非叶子结点编号,K 是一个整数,表示它的子结点数,接下来的 K 个 ID[i] 也是两位...

Pat 1474 多项式a加b

题目 给定两个多项式 $A$ 和 $B$,计算 $A+B$ 的结果。 输入格式 共两行,每行包含一个多项式的信息,格式如下: $K\ N_1\ a_{N_1}\ N_2\ a_{N_2}\ ……\ N_k\ a_{N_k}$ 其中,$K$ 表示多项式中非零项的数量,$N_i$ 和$a_{N_i}$ 分别表示其中一个非零项的指数和系数。 输出格式 按照与输入相同的格式,输出 A+...