03 2020 档案
摘要:一种char分隔符 string phrase = "The quick brown fox jumps over the lazy dog."; string[] words = phrase.Split(' '); foreach (var word in words) { System.Con
阅读全文
摘要:记录使用对象初始值设定项初始化对象。 using System; using System.Collections.Generic; namespace ConsoleApp2 { class Program { static void Main(string[] args) { // 使用构造函数
阅读全文
摘要:记录表达式树的学习过程 表达式树将代码表示为可以检测、修改、或执行的一种结构,一种定义代码的结构。 表达式树是代码的完整表示形式:可以看到任何子表达式的值。 可以看到方法和属性名称。 可以看到任何常数表达式的值。 还可以将自己转换为可执行的委托,并执行代码。 通过表达式树 API,可创建几乎任何有效
阅读全文
摘要:Grid:网格布局,RowDefinitions定义行,ColumnDefinitions定义列,ShowGridLines是否展示网格线。 <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/
阅读全文
摘要:记录更改控件外观学习 更改控件外观有三种方法:属性、Style、ControlTemplate。 Style:可以一次对多个控件设置属性。 ContentTemplate: 自定义Control外观,利用行为更改外观。 属性:<Window x:Class="WpfApp1.MainWindow"
阅读全文
摘要:记录 Lambda。 两种显示形式: // 第一种:表达式Lambda,右边主体为表达式。 (parameters) => expression // 第二种:语句Lambda,右边主体为语句块。 (parameters) => { < sequence - of - statements > }
阅读全文
摘要:弃元就是使用下划线_作为一个占位符,但不占存储空间。 元组(ValueTuple、Tuple)使用弃元例子。 using System; namespace ConsoleApp4 { class Program { public static void Main() { // ValueTuple
阅读全文
摘要:https://docs.microsoft.com/zh-cn/dotnet/csharp/indexers 学习笔记 索引器语法: 通过变量名和方括号访问索引器,使用this关键字作为“属性名”声明索引器,并在方括号里声明索引器参数。 using System; using System.Col
阅读全文
摘要:记录大话设计学习过程。 “工厂模式”和“简单工厂模式”的区别就是把“到底实例哪一个对象的判断逻辑”迁移出去。因为,如果是简单工厂,哪天增加了新的运算,就必须修改简单工厂类的判断分支,这违反了“开放-封闭原则”。 现在判断逻辑依然有,只是放在了客户端,如果哪天增加新的运算,如果使用工厂模式,扩展就通过
阅读全文
摘要:记录什么是托管代码?学习过程。 托管代码 C#,就是其中一种托管代码。托管代码的执行过程可以交由运行时管理,在.Net里,这种运行时称为“公共语言运行时”(Common Language RunTime,CLR)。 托管代码先经过编译器编译成“中间语言”代码(Intermediate Languag
阅读全文
摘要:记录大话设计学习过程。 代理模式:代理者为其他对象提供代理,以控制对真实对象的访问。 用户调用代理者,代理者通过真实的对象引用让对象去做事情。但是代理者可以附加一些功能,然后才让真实对象去做事情。 代理模式运用案例:WebService生成代理访问服务,虚拟代理、安全代理(控制真实对象访问时的权限)
阅读全文
摘要:装饰模式的核心:被装饰对象(最原始),装饰对象(带有装饰功能的被装饰对象)。 假设有一个被装饰对象叫“ConcreteComponent ”,两个装饰对象叫“ConcreteDecoratorA”、“ConcreteDecoratorB”。装饰是锦上添花的事情,ConcreteComponent 被
阅读全文
摘要:记录大话设计的学习过程。 高层模块不依赖于低层模块,这两种模块都应该依赖于抽象。 抽象不依赖于细节,细节应该依赖抽象。 针对抽象编程而不是针对细节编程,即所有的依赖关系终止与抽象类或接口,这就是面向对象的设计,反之是面向过程话的设计了(函数是一种面向过程设计)。
阅读全文
摘要:记录大话设计模式的学习! 链接:https://pan.baidu.com/s/1JNaagbvOkwAHMBe6vdH8lg 提取码:ko5t 开发-封闭原则是指类、函数、模块等等可以扩展、但是不可修改。 无论模块多么的封闭,都可能存在一些无法预料的变化,即使不能完全封闭,依然要对能预想到的变化封
阅读全文
摘要:记录大话设计的学习。大话设计模式pdf分享:https://pan.baidu.com/s/11h9x-4RffXydf3GFH5_y7g 提取码:x5c3 。 上一篇通过超市优惠结账的例子学习了算法的封装和产生实例的简单工厂。这一篇在简单工厂上继续加工,让它变成一种策略模式。 每一种优惠算法都是一
阅读全文
摘要:记录大话设计模式学习,大话设计模式pdf分享:链接:https://pan.baidu.com/s/11h9x-4RffXydf3GFH5_y7g 提取码:x5c3 实现简单计算器的加减乘除运算,做到可维护、可扩展、可复用、且灵活。 可维护举例:业务人员要求加法功能只允许绝对值相加,这时修改代码的区
阅读全文
摘要:Main函数代码 using System; namespace ConsoleApp4 { class Program { public static void Main(string[] args) { Console.WriteLine(args[0]); Console.WriteLine(
阅读全文
摘要:记录 编码约定 学习过程。 命名空间约定 如果没有使用using指令,项目也没有默认导入合适的命名空间,访问这些命名空间或者类型时,则需要“完全限定名称”。 namespace ConsoleApp4 { class Program { static void Main(string[] args)
阅读全文
摘要:如果要扩展LINQ查询方法集,只需要为IEnumerable<T>扩展方法。 第一种:扩展聚合方法,类似已有的Max、Min,可以给具体类型扩展,也可以给泛型扩展。 using System; using System.Collections; using System.Collections.Ge
阅读全文
摘要:ArrayList实现了System.Collections空间下的IEnumerable接口,这个接口是非泛型的。如果要使用LINQ,必须声明枚举变量的类型,依赖Cast查询运算符转换枚举类型。 using System; using System.Collections; using Syste
阅读全文
摘要:记录https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/linq/linq-and-file-directories的学习 查询具有指定扩展名的文件 (SearchOption.AllDirectorie
阅读全文
摘要:记录 LINQ to Objects 的学习 LINQ to Objects 是指可将Linq查询用于继承 IEnumerable 或 IEnumerable<T> 的集合类型,包括框架本身定义的 List、Array、Dictionary,也可以是通过实现上面枚举接口的自定义集合类型。Linq 查
阅读全文
摘要:LINQ的延迟执行方式分两种,一种是流式,另一种是非流式。非流式处理运算符必须先读取所有源数据,然后才能生成结果元素。 非流式处理的运算符包括:GroupBy、OrderBy、OrderByDescending、Reverse、ThenBy、ThenByDescending GroupBy List
阅读全文
浙公网安备 33010602011771号