10 2021 档案
摘要:今天在学可空类型的时候,看见两个关键字——implicit和explicit。 public static implicit operator T? (T value); public static explicit operator T(T? value); 这两个关键字是一对用于类型转换的关键字
阅读全文
摘要:作用:在第一次使用类之前,用静态构造函数来初始化封闭类中一些静态变量。 示例: public class Car : Product { private readonly static string _productType; public static string ProductType { g
阅读全文
摘要://O(n),遍历 int findPeakElement1(vector<int>& nums) { const size_t length = nums.size() - 1; if (length == 0) return 0; if (nums[0] > nums[1]) return 0;
阅读全文
摘要:对于没有类型约束的泛型,其类型参数可以指定为任意类型。 例如List<T>,其类型参数T是值类型(List<int>)或引用类型(List<object>)。 有时候,我们希望泛型的类型参数只能是值类型或引用类型,这时就该论到类型约束上场了。 约束要放到泛型方法或泛型类型声明的末尾,并由关键字whe
阅读全文
摘要:通过将变量o声明为静态类型dynamic(类型是静态的,对该类型的处理是动态的),编译器会对o的几乎所有处理都区别对待,将所有绑定决策(如Length的含义)留给运行时。 dynamic d = "hello"; Console.WriteLine(d.Length);// 打印结果:5 d = n
阅读全文
摘要:中序遍历是指:左子节点→根节点→右子节点的方式遍历二叉树。 用循环的方法进行中序遍历 vector<int> inorderTraversal(TreeNode* root) { stack<TreeNode*> stk;//暂存树节点的栈 vector<int> result;//存放结果 Tre
阅读全文
摘要:对于要求泛型类型参数为父类型,允许赋值类型参数为子类型值的这种情况,称为协变。 对于要求泛型类型参数为子类型,允许赋值类型参数为父类型值的这种情况,称为逆变。 结论:逆变、协变是方法参数、返回值类型的转换与对委托方法的包装。应属于多态的一种形式。 引用:https://www.cnblogs.com
阅读全文
摘要:装箱 是指将值类型转换为引用类型,如下: int a = 10;//a的类型是结构体system.Int32,结构体是值类型Object o = a;//o的类型是类system.Object, 类是引用类型 拆箱 是指将装箱的引用类型转换为值类型。 int b = (int)o;//将o强转为值类
阅读全文