随笔分类 - C#
摘要:原文链接 https://docs.microsoft.com/zh-cn/dotnet/csharp/delegate-class c# 包含哪些关键字? 关键字是预定义的保留标识符,对编译器有特殊意义。 除非前面有 @ 前缀,否则不能在程序中用作标识符。 例如,@if 是有效标识符,而 if 则
阅读全文
摘要:字符串比较时候用到 CompareOptions CompareOptionsz [ComVisible(true)] public enum StringComparison { /// <summary> /// 使用区分区域性的排序规则对字符串进行排序和当前区域性对字符串进行比较(根据当前的语
阅读全文
摘要:感觉 最近学习学疯了,突然对以前熟悉的东西感到陌生。然后又回头重新挖掘一下 什么是相等性呢?以前一直用== 默认是值相等,从未去考虑,是地址相等还值相等。今天就详细的研究一下。 .net 平台提供了4中相等性比较符。ReferenceEquals、静态Equals、实例eEquals、==(“ceq
阅读全文
摘要:每个对象都有一个明确定义的生命周期,除了“正在使用”的正常状态之外,还有两个重要的阶段: 构造阶段: 对象最初进行实例化的时期。这个初始化过程称为构造阶段,由构造函数完成。 析构阶段:在删除一个对象时,常常需要执行一些清理工作,例如,释放内存,这由析构函数完成。 还未写完,。。。。。。。。。。。
阅读全文
摘要:init是什么意思? init就 modreq([System.Runtime]System.Runtime.CompilerServices.IsExternalInit) 类型的缩写 modreq= Modified Request:修改请求 IsExternalInit=is Externa
阅读全文
摘要:readonly 关键字是一个可在四个上下文中使用的修饰符: 在字段声明中,readonly 指示只能在声明期间或在同一个类的构造函数中向字段赋值。 可以在字段声明和构造函数中多次分配和重新分配只读字段。 构造函数退出后,不能分配 readonly 字段。 此规则对于值类型和引用类型具有不同的含义:
阅读全文
摘要:计算机组成原理 1、为什么计算的补数(补码)=反码+1? 二进制的减法可以转化成加法运算。利用mod=|负数|+补数 ,计算机的mod =2字长 ,计算的字长是固定的,计算机加法结果超过字长的部分会舍弃,留下部分就是余数。 例如 :一个字长为8的 计算机,表示数字范围是0~28-1 ,一共28种(m
阅读全文
摘要:命名空间:System.Collections.Generic 构造函数:public KeyValuePair (TKey key, TValue value); 属性:只读属性 Key ,只读属性 Value 方法:public void Deconstruct (out TKey key, o
阅读全文
摘要:原文地址:https://www.cnblogs.com/arxive/p/5795423.html 本文对原文进行了部分修改 说明 必须包含名空间System.Collection.Generic Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而值不
阅读全文
摘要:目录 使用简单集合集合的类型 System.Collections.Generic 类 System.Collections.Concurrent 类 System.Collections 类 System.Collections.ObjectModel(命名空间)-》 ReadOnlyCollec
阅读全文
摘要:使用弱引用的准则 仅在必要时使用长弱引用,因为在终结后对象的状态不可预知。 避免对小对象使用弱引用,因为指针本身可能和对象一样大,或者比对象还大。 避免将弱引用作为内存管理问题的自动解决方案, 而应开发一个有效的缓存策略来处理应用程序的对象。 什么时候用到弱引用: 1、事件中 2、
阅读全文
摘要:1、事件中的技巧 (1)在事件发送者中,用delegate{}初始化事件。这样就不用每次在使用事件的时候判读事件是否为空了。 delegate { }可以赋值给任何类型的委托。这个功能匿名方法特有的,是lambda表达式无法取代的。 public event EventHandler<FileFou
阅读全文
摘要:克隆方法是原型设计模式中必须使用的方式,它将返回一个与当前对象数据一致的对象。正如其名,犹如一个模子雕刻而出。克隆类型分为两种:浅克隆、深克隆。 浅复制就是仅复制类中的值类型成员 深复制就是复制类中的值类型成员和引用类型的成员。 浅复制一般由object.MemberwiseClone自动实现,由于
阅读全文
摘要:内容来源:MSN:https://docs.microsoft.com/zh-cn/dotnet/csharp/event-pattern 操作符详解(上) https://www.youtube.com/watch?v=1DhDOJz_S98 操作符详解(中) https://www.youtub
阅读全文
摘要:接口设计方式 自顶向下 (如图所示),自底向上。 接口成员: 事件 public interface IDrawingObject { event EventHandler ShapeChanged; } 在类中实现接口事件在类中声明事件,然后在相应区域中调用它 namespace Implemen
阅读全文
摘要:#region和#endregion的作用 折叠 收纳代码,对代码进行分组,让代码容易阅读 #region add(x,y) public static void Add(int x, int y) { Console.WriteLine("{0} + {1} = {2}", x, y, x + y
阅读全文
摘要:C#委托Action、Action<T>、Func<T>、Predicate<T> CLR环境中给我们内置了几个常用委托Action、 Action<T>、Func<T>、Predicate<T>,一般我们要用到委托的时候,尽量不要自己再定义一 个委托了,就用系统内置的这几个已经能够满足大部分的需求
阅读全文
摘要:参考:https://www.cnblogs.com/markkang/p/14130867.html 什么是模式匹配? 在特定的上下文中,模式匹配是用于检查所给对象及属性是否满足所需模式(即是否符合一定标准)并从输入中提取信息的行为。它是一种新的代码流程控方式,它能使代码流可读性更强。这里说到的标
阅读全文
摘要:元组的解构是C#内置支持的。 var countrInfo = ("Malawi", "Lilongwe", io); (string name, string ii, var gdpPerCapit) = countrInfo; 对于非元组类型的解构,C# 不提供内置支持。但是,用户作为类、结构或
阅读全文
摘要:文章来源: 青水白凡 C#中 Var关键字 Var是C#3.5新增的一个关键字,用来代替某些具体的类型,由编译器自动判断变量类型,编译器可以根据变量的初始化值“推断”变量的类型。 其主要作用有2个: 1.代替具体类型,实现快速编程的隐式类型用法,常见在foreach便历中,实质是VS编译器给我们提供
阅读全文