随笔分类 -  C#

摘要:对象初始值设和集合初始值设定项 对象初始值设定项的工作原理: init访问器,本质上就是在对象初始化时候给内部字段(实例)赋值。 init就 modreq([System.Runtime]System.Runtime.CompilerServices.IsExternalInit) 类型的缩写 mo 阅读全文
posted @ 2021-09-16 13:20 小林野夫 阅读(101) 评论(0) 推荐(0) 编辑
摘要:Property 是什么意思? property表示属性,即属固有的特性。比如: ”人“是属,人固有的特性是,姓名、性别、年龄。 “小明”是第一实体, ”人“是第二实体,人是小明这个体的属。小明自然继承”人“属所固有的特性,即小明也具有姓名、性别、年龄特性。对于小明这个个体来说,姓名、性别、年龄是属 阅读全文
posted @ 2021-09-15 17:48 小林野夫 阅读(818) 评论(0) 推荐(0) 编辑
摘要:这是c#中的“属性”假如某个类中有一个成员变量(字段),一般是不允许外部访问的,为了安全性如果要访问它,必须通过“属性”来访问,例如:private int Id; //这是一个成员变量,private表示是私有的,外部不可访问public int ID{get { return id; } //当 阅读全文
posted @ 2021-09-15 16:38 小林野夫 阅读(484) 评论(0) 推荐(0) 编辑
摘要:匿名函数的定义和用途 匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用。 可以使用匿名函数来初始化命名委托[无需取名字的委托],或传递命名委托(而不是命名委托类型,传递一个方法块,而不是委托类型)[callback的方式]作为方法参数。 两种匿名函数# 共有两种匿名函数,以下主题分 阅读全文
posted @ 2021-09-14 20:03 小林野夫 阅读(284) 评论(0) 推荐(0) 编辑
摘要:前言-总结 泛型编程作为.NET体系中一个很重要的编程思想,主要有以下亮点: 编译期确定类型,避免值类型的拆装箱和不必要的运行时类型检验,同样运行时也能通过is和as进行类型检验。 泛型方法性能==普通方法>Object方法(需要装箱拆箱) 通过约束进行对类型参数实例化的范围 同时在IL层面,实例化 阅读全文
posted @ 2021-09-13 23:49 小林野夫 阅读(76) 评论(0) 推荐(0) 编辑
摘要:1、System.Console.WriteLine(类的实例)默认调用类的Tostring()方法。如果自定义的新类未override ToString()方法。那么调用Object.ToString()方法,输出类名。 2、详细https://www.cnblogs.com/SilentCode 阅读全文
posted @ 2021-09-13 23:27 小林野夫 阅读(171) 评论(0) 推荐(0) 编辑
摘要:.NET 5+ 中已过时的功能 数组淘汰 .NET Framework 2以上的版本中,ArrayList可以说已经被淘汰了,应该用泛型类中的List<T> https://www.cnblogs.com/cdaniu/p/15936840.html Thread类淘汰的方法 Abort() .ne 阅读全文
posted @ 2021-09-13 22:12 小林野夫 阅读(514) 评论(0) 推荐(0) 编辑
摘要:string提供了按字母进行排序 int整数则是根据整数大小进行排序 阅读全文
posted @ 2021-09-13 20:06 小林野夫 阅读(37) 评论(0) 推荐(0) 编辑
摘要:IEnumerable<T> 和 IEnumerator<T>。泛型版本是新式代码的首要选项。 InvariantCulture:程序间、程序数据库、程序网络交互用InvariantCulture invariant是基于en-US文化,但是与en-US还是有区别的。 例如:不变文化使用国际符号作为 阅读全文
posted @ 2021-09-13 18:08 小林野夫 阅读(162) 评论(0) 推荐(0) 编辑
摘要:问题:瑞典文字的“æ”在控制台中无法正确的显示? String[] strings1 = { "case", "encyclopædia", "encyclopædia", "Archæology" }; 程序运行后 显示效果如下: 我们通过在控制台的标题栏点击右键》属性,查看当前控制台显示所用的编 阅读全文
posted @ 2021-09-13 01:37 小林野夫 阅读(1845) 评论(0) 推荐(0) 编辑
摘要:在项目中经常会用到字符串比较,但是有时候对字符串的操作比较多,规则各异。比如有的地方我们需要用排序规则,有的地方需要忽略大小写,我们该如何写一个比较容易操作的比较方法呢?重新实现IComparer接口不失为一个好办法。 IComparable.CompareTo 方法 在MSDN上是这么解释(机器翻 阅读全文
posted @ 2021-09-11 23:39 小林野夫 阅读(991) 评论(0) 推荐(0) 编辑
摘要:Array.Sort(vv, string.CompareOrdinal); //ASCII排序 string[] words = { "The", "1quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog." }; string 阅读全文
posted @ 2021-09-11 21:12 小林野夫 阅读(83) 评论(0) 推荐(0) 编辑
摘要:帕斯卡命名法 命名规则. 单字之间不以空格断开或 连接号 (-)、底线(_)连结,第一个单词首字母采用 大写字母 ;后续单词的首字母亦用大写字母,例如:FirstName、LastName。. 每一个单词的首字母都采用大写字母的命名格式,被称为" Pascal 命名法",源自于 Pascal语言 的 阅读全文
posted @ 2021-09-11 14:48 小林野夫 阅读(408) 评论(0) 推荐(0) 编辑
摘要:原文链接:https://www.cnblogs.com/edisonchou/p/4088959.html 匿名类型就是匿名类 一、匿名类:[ C# 3.0/.NET 3.x 新增特性 ] 匿名类声明一 var annoyCla1 = new {ID=1 }; Console.WriteLine( 阅读全文
posted @ 2021-09-11 14:26 小林野夫 阅读(2338) 评论(0) 推荐(0) 编辑
摘要:CLR要求所有对象(实例)都用new操作符创建,那么new操作符做了哪些事呢?1. 计算字节数 计算类型及其所有基类型(父类)中定义的所有实例字段需要的字节数。堆上每个对象都需要一些额外的成员,包括“类型对象指针”和“同步块索引”。CLR利用这些成员管理对象。2. 给对象分配内存 从托管堆中分配类型 阅读全文
posted @ 2021-09-11 13:50 小林野夫 阅读(985) 评论(0) 推荐(0) 编辑
摘要:在 C# 中,数组实际上是对象,而不只是如在 C 和 C++ 中的连续内存的可寻址区域。 交错数组是数组的数组,因此其元素为引用类型且被初始化为 null 。new 运算符 用于在堆上创建对象。所以数组需要用new声明来给数组在堆上开一个存储空间。 值类型和引用类型数组 SomeType[] arr 阅读全文
posted @ 2021-09-11 02:11 小林野夫 阅读(629) 评论(0) 推荐(0) 编辑
摘要:分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架。 Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度。 Redis:是一个高性能的KV数据库。 它的出现很大程度补偿了Memcached在某些方面的不足。 EnyimMemcached 阅读全文
posted @ 2021-09-10 15:55 小林野夫 阅读(230) 评论(0) 推荐(0) 编辑
摘要:C# (Struct)结构的介绍 在 C# 中,所有简单值类型都是结构类型。结构类型是一种可封装数据和相关功能的值类型 ,是隐式密封的值类型,不可继承。 使用 struct 关键字定义结构类型。struct 语句为程序定义了一个带有多个成员的新的数据类型。例如,.NET 使用结构类型来表示数字(整数 阅读全文
posted @ 2021-09-08 01:29 小林野夫 阅读(617) 评论(0) 推荐(1) 编辑
摘要:我们重点来讲解 简单枚举和标志枚举的用法和区别 继承 Object-> ValueType ->Enum Object-> ValueType ->struct 包括int float等简单值类型 Object-> ValueType ->ValueTuple Object-> ValueType 阅读全文
posted @ 2021-09-07 09:51 小林野夫 阅读(13733) 评论(0) 推荐(2) 编辑

原文链接:https://www.cnblogs.com/cdaniu/