匿名对象
初始化方法
1 | var obj = new { Name = "cfmy",Sex = "M"} ;//单个匿名对象 |
初始化一个匿名对象之后,编译器会生成一个运行时类型(System.RunTimeType),它是受保护的,它会根据初始化时的属性顺序,数量,类型构造出一个看不到的类型,它的所有属性都是只读的,只能在实例化时赋值
Muss es sein? Es muss sein!
1 | var obj = new { Name = "cfmy",Sex = "M"} ;//单个匿名对象 |
初始化一个匿名对象之后,编译器会生成一个运行时类型(System.RunTimeType),它是受保护的,它会根据初始化时的属性顺序,数量,类型构造出一个看不到的类型,它的所有属性都是只读的,只能在实例化时赋值
创建型模型抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象。类创建型模型使用继承改变实例化的类,而对象创建模型将实例化委托给另一个对象
在这些模式中有两个不断出现的主旋律。第一,他们都将关于该系统使用哪些具体的类的信息封装起来。第二,他们隐藏了这些类的示例是如何被创建和放在一起的。整个系统关于这些对象所知道的是有抽象类所定义的接口。因为,创建型模式在什么地方被创建,又谁创建,它是怎么被创建的,以及何时被创建这几个方面给予很大的灵活性。它们允许你用结构和功能差别很大的“产品”对象配置一个系统。配置可以是静态的(即编译时制定)。也可以是动态的(在运行时)
目前创建型模型主要有
最近遇到这样一段代码
1 | var reg= /<td class="bold">(\d+)<\/td><td class="xxxx">([\d\,]+?)<\/td>/; |
正则匹配的过程很好看懂,但是后面match[1]
和match[2]
是什么鬼啊,还有replace(/^(\d{8})(\d{2})$/, '$1-$2')
中第二个参数是什么含义也搞不懂,平时总用不到正则,导致我前前后后重新看了好几遍,第一遍大致了解了所有元字符含义(但是时间久就忘记了);第二次好像是发现了贪婪模式和懒惰模式;这次又学会了反向引用,之后没准又发现漏掉什么重点,所以赶紧整理一下
阿尔法狗和李世石,一时间成为了热门词汇,随之而来围棋小王子柯洁也开始走进了公众视野,一周时间微博粉丝从2万涨到43万,如果没有阿尔法狗的这次挑战赛,还有多少人记得围棋这种东西。《几张图教你看懂围棋》之类的图文竟被疯狂转发。