摘要: IEnumerable 和 IEnumerator 的 泛型版本是新式代码的首要选项。IEnumerable<T> 和 IEnumerator<T> IEnumerable<T>的应用 写两个类一个是学生、一个是班级。逻辑上学生是属于班级这个集合的,按理来说是可以直接使用foreach直接遍历出班级 阅读全文
posted @ 2021-09-17 20:33 小林野夫 阅读(213) 评论(0) 推荐(0)
摘要: 摘 要 属性允许将数据成员作为公共接口的一部分暴露出去,同时仍旧提供面向对象环境下所需要的封装。属性这个语言元素可以让你像访问数据成员一样使用,但底层依旧使用方法实现。通过使用属性我们可以创建出类似于数据访问(客户代码在访问属性时,就像是在访问共有的字段),但实际上确是方法调用的接口... 属性允许 阅读全文
posted @ 2021-09-17 18:02 小林野夫 阅读(37) 评论(0) 推荐(0)
摘要: 总结 只要类中有类似于属性的元素就应创建索引器,此属性代表的不是一个值,而是值的集合,其中每一个项由一组参数标识。 这些参数可以唯一标识应引用的集合中的项。 索引器延伸了属性的概念,索引器中的一个成员被视为类外部的一个数据项,但又类似于内部的一个方法。 索引器允许参数在代表项的集合的属性中查找单个项 阅读全文
posted @ 2021-09-17 16:36 小林野夫 阅读(431) 评论(0) 推荐(0)
摘要: 有的编程语言允许一个类型定义操作符应该如何操作类型的实例,比如string类型和int类型都重载了(==)和(+)等操作符,当编译器发现两个int类型的实例使用+操作符的时候,编译器会生成把两个整数加到一起的代码。 当编译器发现两个string类型的实例使用+操作符的时候,编译器会生成把两个字符串连 阅读全文
posted @ 2021-09-17 15:48 小林野夫 阅读(161) 评论(0) 推荐(0)
摘要: 原文地址: Click Here 操作符重载必须用public static 应为操作符是用来操作实例的。 operator operator 关键字用于在类或结构声明中声明运算符。运算符声明可以采用下列四种形式之一: public static result-type operator unary 阅读全文
posted @ 2021-09-17 15:14 小林野夫 阅读(256) 评论(0) 推荐(0)
摘要: C# 语言经过专门设计,以便不同库中的基类与派生类之间的版本控制可以不断向前发展,同时保持向后兼容。这具有多方面的意义。例如,这意味着在基类中引入与派生类中的某个成员具有相同名称的新成员在 C# 中是完全支持的,不会导致意外行为。它还意味着类必须显式声明某方法是要重写一个继承方法,还是一个仅隐藏具有 阅读全文
posted @ 2021-09-17 10:04 小林野夫 阅读(146) 评论(0) 推荐(0)
摘要: 1.C#4个修饰符的权限修饰符 级别 适用成员 解释public 公开 类及类成员的修饰符 对访问成员没有级别限制private 私有 类成员的修饰符 只能在类的内部访问protected 受保护的 类成员的修饰符 在类的内部或者在派生类中访问,不管该类和派生类是不是在同一程序集中internal 阅读全文
posted @ 2021-09-16 18:42 小林野夫 阅读(1357) 评论(0) 推荐(0)
摘要: 对象初始值设和集合初始值设定项 对象初始值设定项的工作原理: init访问器,本质上就是在对象初始化时候给内部字段(实例)赋值。 init就 modreq([System.Runtime]System.Runtime.CompilerServices.IsExternalInit) 类型的缩写 mo 阅读全文
posted @ 2021-09-16 13:20 小林野夫 阅读(106) 评论(0) 推荐(0)
摘要: OpCode的全称OpCode就是Operation Code,意即操作码的意思。 以上内容 来源https://blog.csdn.net/drgreentea/article/details/6283485 使用心得 .maxstack:评估堆栈(Evaluation Stack)可容纳数据项的 阅读全文
posted @ 2021-09-15 19:38 小林野夫 阅读(810) 评论(0) 推荐(0)
摘要: 补充知识点:opcode 在前面我们已经知道了,由于计算机只认识0和1,所以,源代码“NOP”是无法直接运行的。当Assembler遇到“NOP”的时候,为了生成让计算机能运行的“东西”(暂且这样称呼吧),就会以十六进制数“0x90”来代替它。 在这里,“0x90”就是“OpCode ”,而“NOP 阅读全文
posted @ 2021-09-15 19:29 小林野夫 阅读(670) 评论(0) 推荐(0)
摘要: Property 是什么意思? property表示属性,即属固有的特性。比如: ”人“是属,人固有的特性是,姓名、性别、年龄。 “小明”是第一实体, ”人“是第二实体,人是小明这个体的属。小明自然继承”人“属所固有的特性,即小明也具有姓名、性别、年龄特性。对于小明这个个体来说,姓名、性别、年龄是属 阅读全文
posted @ 2021-09-15 17:48 小林野夫 阅读(851) 评论(0) 推荐(0)
摘要: 这是c#中的“属性”假如某个类中有一个成员变量(字段),一般是不允许外部访问的,为了安全性如果要访问它,必须通过“属性”来访问,例如:private int Id; //这是一个成员变量,private表示是私有的,外部不可访问public int ID{get { return id; } //当 阅读全文
posted @ 2021-09-15 16:38 小林野夫 阅读(497) 评论(0) 推荐(0)
摘要: 匿名函数的定义和用途 匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用。 可以使用匿名函数来初始化命名委托[无需取名字的委托],或传递命名委托(而不是命名委托类型,传递一个方法块,而不是委托类型)[callback的方式]作为方法参数。 两种匿名函数# 共有两种匿名函数,以下主题分 阅读全文
posted @ 2021-09-14 20:03 小林野夫 阅读(292) 评论(0) 推荐(0)
摘要: 前言-总结 泛型编程作为.NET体系中一个很重要的编程思想,主要有以下亮点: 编译期确定类型,避免值类型的拆装箱和不必要的运行时类型检验,同样运行时也能通过is和as进行类型检验。 泛型方法性能==普通方法>Object方法(需要装箱拆箱) 通过约束进行对类型参数实例化的范围 同时在IL层面,实例化 阅读全文
posted @ 2021-09-13 23:49 小林野夫 阅读(98) 评论(0) 推荐(0)
摘要: 1. CLR C#.NET 平台下,代码是怎么运行的 源代码——》托管模块——》程序集—JIT—》编程CPU指令 1.1 在.NET框架下,首先将源代码编译为托管模块 CLR编译过程:C#源码文件——(C#编译器编译)——》托管模块 托管模块是一个需要CLR环境才能执行的标准windows PE文件 阅读全文
posted @ 2021-09-13 23:44 小林野夫 阅读(450) 评论(0) 推荐(0)
摘要: 1、System.Console.WriteLine(类的实例)默认调用类的Tostring()方法。如果自定义的新类未override ToString()方法。那么调用Object.ToString()方法,输出类名。 2、详细https://www.cnblogs.com/SilentCode 阅读全文
posted @ 2021-09-13 23:27 小林野夫 阅读(183) 评论(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 小林野夫 阅读(553) 评论(0) 推荐(0)
摘要: string提供了按字母进行排序 int整数则是根据整数大小进行排序 阅读全文
posted @ 2021-09-13 20:06 小林野夫 阅读(40) 评论(0) 推荐(0)
摘要: IEnumerable<T> 和 IEnumerator<T>。泛型版本是新式代码的首要选项。 InvariantCulture:程序间、程序数据库、程序网络交互用InvariantCulture invariant是基于en-US文化,但是与en-US还是有区别的。 例如:不变文化使用国际符号作为 阅读全文
posted @ 2021-09-13 18:08 小林野夫 阅读(169) 评论(0) 推荐(0)
摘要: 问题:瑞典文字的“æ”在控制台中无法正确的显示? String[] strings1 = { "case", "encyclopædia", "encyclopædia", "Archæology" }; 程序运行后 显示效果如下: 我们通过在控制台的标题栏点击右键》属性,查看当前控制台显示所用的编 阅读全文
posted @ 2021-09-13 01:37 小林野夫 阅读(1961) 评论(0) 推荐(0)
摘要: 当发现Visual Studio 的快捷不能用时候,我们只要选择重置就可以用了。 阅读全文
posted @ 2021-09-13 01:27 小林野夫 阅读(123) 评论(0) 推荐(0)
摘要: 下载主题插件:Color Themes for Visual Studio 安装插件 下载完成后 关闭vs2019 完成初始化,初始化完成后,再次打开软件进行配置。 卸载插件 点击卸载,然后关闭vs2019 ,关闭后执行卸载配资。 阅读全文
posted @ 2021-09-13 00:31 小林野夫 阅读(1330) 评论(0) 推荐(0)
摘要: 文件编码格式 阶段一:ASCII 阶段二:ANSI(本地化) 如:GBK、GB2312 阶段三:UNICODE(国际化) 如:UTF-8 ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是一套基于拉丁字母的字符编 阅读全文
posted @ 2021-09-12 15:54 小林野夫 阅读(1637) 评论(0) 推荐(0)
摘要: 总结起来为啥需要Unicodey就是为了适应全球化的发展,便于不同语言之间的兼容交互,而ASCII不再能胜任此任务了 UTF-8 与UTF-16的区别 UTF-8的优缺点 程序员那么到底该如何选择呢? 为啥需要Unicode 我们知道计算机其实挺笨的,它只认识0101这样的字符串,当然了我们看这样的 阅读全文
posted @ 2021-09-12 15:51 小林野夫 阅读(1363) 评论(0) 推荐(1)
摘要: 在项目中经常会用到字符串比较,但是有时候对字符串的操作比较多,规则各异。比如有的地方我们需要用排序规则,有的地方需要忽略大小写,我们该如何写一个比较容易操作的比较方法呢?重新实现IComparer接口不失为一个好办法。 IComparable.CompareTo 方法 在MSDN上是这么解释(机器翻 阅读全文
posted @ 2021-09-11 23:39 小林野夫 阅读(1065) 评论(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 小林野夫 阅读(91) 评论(0) 推荐(0)
摘要: 帕斯卡命名法 命名规则. 单字之间不以空格断开或 连接号 (-)、底线(_)连结,第一个单词首字母采用 大写字母 ;后续单词的首字母亦用大写字母,例如:FirstName、LastName。. 每一个单词的首字母都采用大写字母的命名格式,被称为" Pascal 命名法",源自于 Pascal语言 的 阅读全文
posted @ 2021-09-11 14:48 小林野夫 阅读(444) 评论(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 小林野夫 阅读(2386) 评论(0) 推荐(0)
摘要: CLR要求所有对象(实例)都用new操作符创建,那么new操作符做了哪些事呢?1. 计算字节数 计算类型及其所有基类型(父类)中定义的所有实例字段需要的字节数。堆上每个对象都需要一些额外的成员,包括“类型对象指针”和“同步块索引”。CLR利用这些成员管理对象。2. 给对象分配内存 从托管堆中分配类型 阅读全文
posted @ 2021-09-11 13:50 小林野夫 阅读(1010) 评论(0) 推荐(0)
摘要: 在 C# 中,数组实际上是对象,而不只是如在 C 和 C++ 中的连续内存的可寻址区域。 交错数组是数组的数组,因此其元素为引用类型且被初始化为 null 。new 运算符 用于在堆上创建对象。所以数组需要用new声明来给数组在堆上开一个存储空间。 值类型和引用类型数组 SomeType[] arr 阅读全文
posted @ 2021-09-11 02:11 小林野夫 阅读(643) 评论(0) 推荐(0)
摘要: Glob 语法及解析 目录 1. glob 简介 2. glob 语法 3. .gitignore 4. Python glob 1 glob 简介 glob 是用于匹配符合指定模式的文件集合的一种语言, 类似于正则表达式, 但更加简单。 Update-09-22: 前两天阮一峰老师更新了他的博客, 阅读全文
posted @ 2021-09-10 23:26 小林野夫 阅读(415) 评论(0) 推荐(0)
摘要: Nuget介绍 官网定义:NuGet是.NET的软件包管理器(免费)。NuGet客户端工具提供了生成和使用软件包的能力。NuGet Gallery 是所有软件包作者和消费者都使用的中央软件包存储库。 简单来说,nuget包解决了dll引用的问题,开发者可以通过打包,然后发布到公有主机或者私有主机上, 阅读全文
posted @ 2021-09-10 22:35 小林野夫 阅读(3914) 评论(0) 推荐(0)
摘要: 分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架。 Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度。 Redis:是一个高性能的KV数据库。 它的出现很大程度补偿了Memcached在某些方面的不足。 EnyimMemcached 阅读全文
posted @ 2021-09-10 15:55 小林野夫 阅读(236) 评论(0) 推荐(0)
摘要: C# (Struct)结构的介绍 在 C# 中,所有简单值类型都是结构类型。结构类型是一种可封装数据和相关功能的值类型 ,是隐式密封的值类型,不可继承。 使用 struct 关键字定义结构类型。struct 语句为程序定义了一个带有多个成员的新的数据类型。例如,.NET 使用结构类型来表示数字(整数 阅读全文
posted @ 2021-09-08 01:29 小林野夫 阅读(652) 评论(0) 推荐(1)
摘要: 我们重点来讲解 简单枚举和标志枚举的用法和区别 继承 Object-> ValueType ->Enum Object-> ValueType ->struct 包括int float等简单值类型 Object-> ValueType ->ValueTuple Object-> ValueType 阅读全文
posted @ 2021-09-07 09:51 小林野夫 阅读(14172) 评论(0) 推荐(2)
摘要: 算术运算:(+,-,*,/)时,只要一个为null,则结果为null。 比较运算符: <、>、<= 和 >=,也是如此。如果一个或全部两个操作数都为 null,则结果为 false。 相等运算符: ==,如果两个操作数都为 null,则结果为 true;如果只有一个操作数为 null,则结果为 fa 阅读全文
posted @ 2021-09-06 17:03 小林野夫 阅读(104) 评论(0) 推荐(0)
摘要: C#中default关键字用法简介 default 关键字可在switch语句或泛型代码中使用。switch语句:指定默认标签。泛型代码:指定类型参数的默认值。对于引用类型为空,对于值类型为零switch语句在switch语句中,如果没有任何case表达式与开关值匹配,则控制传递给跟在可选defau 阅读全文
posted @ 2021-09-06 10:35 小林野夫 阅读(347) 评论(0) 推荐(0)
摘要: CultureInfo、DateTimeFormatInfo、NumberFormatinfo之间的关系 线程中CurrentCulture和CurrentUICulture 区别 以下是win10操作系统中的CurrentCulture和CurrentUICulture ,线程中CurrentCu 阅读全文
posted @ 2021-09-05 16:17 小林野夫 阅读(89) 评论(0) 推荐(0)
摘要: 在C#中DateTime是一个包含日期、时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式。da 定义 dateTime 格式化依赖于DateTimeFormatInfo 类,DateTimeFormatInfo对象的格式化值取决于当 阅读全文
posted @ 2021-09-05 15:09 小林野夫 阅读(5192) 评论(0) 推荐(0)
摘要: 1、内插字符 串取代 字符串复合格式设置 使用这个写法: Console.WriteLine($"Hello, {name}! Today is {date.DayOfWeek}, it's {date:HH:mm} now."); 淘汰以下写法: Console.WriteLine("Hello, 阅读全文
posted @ 2021-09-04 20:13 小林野夫 阅读(43) 评论(0) 推荐(0)
原文链接:https://www.cnblogs.com/cdaniu/