类型推断和var关键字 从C#3.0开始,可以在变量声明的开始部分的的位置使用新的关键字var. Var关键字并不是某种特别类型的符号.它只是句法上的速记,表示任何可以从初始化的右边推断出的类型. Var的一些重要条件: 1.只能用于本地变量,不能用于字段 2.只能在变量声明中包含初始化时使用 3.一旦编译器推断出变量的类型,它就是固定且不能更改的. 在C/C++中,可以先声明一个本地变量,然后在嵌套块中声明另一个相同名称的本地变量.在内部范围,内部名称掩盖了外部名称.然而,在C#中,不管嵌套级…
委托是C#的一个很重要的知识点. 1.什么是委托 委托在我认为,就是一系列格式相同的方法列表,可能就是定义的名称不一致,参数.返回值等都是一样的. 2.如何声明委托 delegate void MyFunc( int x ); delegate是声明委托的关键字,void是返回值,int x是函数的参数,MyFunc是委托的类型名. 3.创建委托对象 MyFunc funcTest;//声明委托 4.创建委托的标准形式 funcTest = new MyFunc(Test); 5.创建委托的简写…
1.所有的类都继承自object 2.如何隐藏基类的成员 要隐藏一个继承的数据成员,需要声明一个新的相同类型的成员,并使用相同的名称. 通过在派生类中声明新的带有相同签名的函数成员,可以隐藏或掩盖继承的函数成员.请记住,签名由名称和参数列表组成,但不包括返回类型. 要让编译器知道你在故意隐藏继承的成员,使用new修饰符,没有它,程序可以成功编译,但编译器会警告你隐藏了一个继承成员. 也可以隐藏静态成员. class SomeBase { public string cFiled; } class…
类成员包括数据成员和函数成员. 和C/C++不同,C#在类型的外部不能声明全局变量,所有的字段都属于类型,而且必须在类型声明内部声明. 和C/C++不同,方法没有返回默认类型,所有方法必须包含返回类型或 void. 有5种成员访问控制 1.private 2.public 3.protected 4.internal 5.protected internal 如果不声明,则是隐式声明私有…
C#中的主要需要记住的基础概念 CLR公共语言运行库 CIL中间语言,所有的代码都会编译成中间语言. CLI公共语言基础结构 C#的优点 C#有自动垃圾回收机制…
文件头的Using是Using指令,不是using语句 using (TextWriter tw = File.CreateText("xixi.txt")) { tw.WriteLine("XiXi"); }  …
表达式 字面量 整数字面量 字符字面量 字符串字面量 求值顺序 优先级 结合性 与C和C++不同,在C#中的数字不具有布尔意义. 各种运算符的作用(过) 用户定义类型转换 class XiXiInt { const int iMaxValue = 100; const int iMinValue = 0; private int theValue = 0; public int TheValue { get { return theValue; } set { if (value < iMinV…
类成员声明语句由下列部分组成:核心声明.一组可选的修饰符和一组可选的特性(attribute). [特性] [修饰符] 核心声明 修饰符: 如果有修饰符,必须放在核心声明之前. 如果有多个修饰符,要有序放置 特性 如果有特性,必须放在修饰符和核心声明之前 如果有多个特性,可以任何顺序 修饰符:public,private,static,const 实例类成员 public int Mem1; 静态字段 static int Mem2;被所有的实例可见,并且如果一个实例改变该值,其它实例使用的该值…
1.C#的中的数值不具有bool特性. 2.dynamic在使用动态语言编写的程序集时使用,这个不太明白,看到后面需要补充!! 动态化的静态类型 3.对于引用类型,引用是存放在栈中,而数据是存放在堆里 如图所示的内容,需要记住一下 4.引用类型的变量值可以为null,而值类型的变量不可 5.创建可空类型 可以从任何值类型创建可空类型,包括预定义的简单类型 不可以从引用类型或其他可空类型创建可空类型. 不需要在代码中空类型,只需要声明可空类型的变量即可.编译器会自动隐匿创建可空类型. int? m…
这章主要是一个对于C#程序的概括解释 和C/C++不同,不是用include声明引用的头文件,而是通过using的方式,声明引用的命名空间. 命名和C/C++类似,并且也是区分大小写的,这件事情在VBA里面,曾经让我无敌地郁闷. Console.Write和Console.WriteLine最大的区别就是后者会在后面加一个回车哦. C#中,用{0}的格式,输出格式化字符串哦. 注意和C/C++中一样,//和/**/的格式 ///的格式的注释,是文档注释,包含XML文本,可以使用工具生成程序文档.…
SQL Server2012 T-SQL基础教程--读书笔记(1-4章) SqlServer T-SQL 示例数据库:点我 Chapter 01 T-SQL 查询和编程背景 1.3 创建表和定义数据的完整性 1.3.1 创建表 1.3.2 定义数据的完整性 1. 主键约束 2. 唯一约束 3. 外键束约 4. CHECK约束 5. 默认约束 Chapter 02 单表查询 2.1 SELECT 语句元素 2.1.7 TOP和OFFSET-FETCH 1. TOP筛选 2. OFFSET-FETC…
SQL Server2012 T-SQL基础教程--读书笔记(8 - 10章) 示例数据库:点我 CHAPTER 08 数据修改 8.1 插入数据 8.1.1 INSERT VALUES 语句 8.1.2 INSERT SELECT 语句 8.1.3 INSERT EXEC 语句 8.1.4 SELECT INTO 语句 8.1.5 BULK INSERT 语句 8.1.6 标识列属性和序列对象 8.1.6.1 标识列属性 8.1.6.2 序列对象 8.2 删除数据 8.2.1 DELETE 语…
SQL Server2012 T-SQL基础教程--读书笔记(5-7章) SqlServer T-SQL 示例数据库:点我 Chapter 05 表表达式 5.1 派生表 5.1.1 分配列别名 5.1.2 使用参数 5.1.3 嵌套 5.1.4 多个引用 5.2 公用表表达式 5.2.1 分别列别名 5.2.2 使用参数 5.2.3 定义多个CTE 5.2.4 CTE的多次引用 5.2.5 递归CTE 5.3 视图 5.3.1 视图和ORDER BY 子句 5.3.2 视图选项 5.4 内嵌表…
本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.方法那些事儿 (1)方法的结构:方法头—指定方法的特征,方法体—可执行代码的语句序列: (2)方法的调用:参数.值参数.引用参数.输出参数.参数数组: ①参数: 形参—本地变量,声明在参数列表中:形参的值在代码开始之前被初始化: 实参—实参的值用于初始化形参: ②值参数: 为形参在栈上分配内存,将实参的值复制到形参: ③引用参数: 不为形参在栈上分配内存,形参的参数名作为实参变量的别名指向同一位置,必须使用ref关…
以前对HTTP协议一知半解,一直不清楚前端需要对于HTTP了解到什么程度,知道接触的东西多了,对于性能优化.服务端的配合和学习中也渐渐了解到了HTTP基础的重要性,看了一些大神对HTTP书籍的推荐,也就找了这本<图解HTTP>来学习一些基础,对于这本书来说,每页都有一些很生动的配图,阅读起来不会像理论书籍那么的枯燥,配图都画的很有意思,值得一看,下面是我的一些读书笔记,也不算是笔记吧,只是摘出了我觉得的重点. 第一章 了解web及网络基础     HTTP的基础知识 超文本传输协议     h…
我们知道,Java方面的高级程序员一定得掌握Spring的技能,其中包括Spring 依赖注入(IOC),面向切面(AOP),和数据库的整合(比如和Hibernate整合或声明式事务等)以及Spring MVC架构.其中,Spring的依赖注入是重中之重,在面试时,面试官一定会问这方面的问题. 根据我的培训和面试经验,这方面的知识点虽然不难(初学者估计最多3天就能看明白并调通程序),但要把其中的各混淆点(也就是面试点)讲清楚不容易,换句话说,初级程序员在学习Spring IOC这部分的知识时,或…
一.字段和本地变量.本地常量字段:隶属于类的变量,即类的成员变量.本地变量:于保存本地的或临时的计算数据,即局部变量.本地常量:必须声明在块内部,声明时必须初始化,声明后不能改变.实例字段与本地变量区别图解: 本地变量生存周期图解: 注: 在C和C++中,可以先声明一个本地变量,然后在嵌套块中声明另一个同名本地变量.在内部范围,内部变量覆盖外部变量.然而,在C#中不管嵌套级别如何,都不能在第一个本地变量的有效范围内声明另一个同名本地变量. 二.类型推断和var关键字若编译器能从初始化语句的右边推…
最近在看廖雪峰的js教程,重温了下js基础,记下一些笔记,好记性不如烂笔头嘛 编写代码尽量使用严格模式 use strict JavaScript引擎是一个事件驱动的执行引擎,代码总是以单线程执行 执行中会自动在每行的结尾添加分号 区分大小写 浮点数通常比较难比较大小,参考es6 number epsilon NaN, Infinity 都是number类型 NaN表示不是一个数字,Infinity表示无穷大,NaN和其他任何数字都不相等 Null 表示空值 ,undefined表示未定义 对象…
一.数据类型1. 预定义类型C#提供16种预定义类型,包括13种简单类型和3种非简单类型:(1)简单类型<1>11种数值类型: 不同长度的有符号和无符号整数类型 浮点数的float和double 高精度小数类型decimal(常用于货币计算)<2>一种Unicode字符类型 char<3>一种bool类型,布尔值只能为true或false(2)非简单类型<1>string Unicode字符数组<2>object 所有其他类型的基类<3&g…
SVM是一种二类分类模型,有监督的统计学习方法,能够最小化经验误差和最大化几何边缘,被称为最大间隔分类器,可用于分类和回归分析.支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题.支持向量机的学习算法是求解凸二次规划的最优化算法. 一.基本原理 SVM是一个机器学习的过程,在高维空间中寻找一个分类超平面,将不同类别的数据样本点分开,使不同类别的点之间的间隔最大,该分类超平面即为最大间隔超平面,对应的分类器称为最大间隔分类器,对于二分类…
一.窥探准备工作 public class Base { public void M() { Console.WriteLine("M in Base"); } public virtual void N() { Console.WriteLine("N in Base"); } } public class Three : Base { private static int ID { get; set; } public override void N() { /…
一.检查参数的有效性 1.考虑参数有哪些限制,把限制写到文档中,在方法的开头处通过显式地检查来实施这些限制. 二.必要时进行保护性拷贝 1.如果类具有从客户端得到或者返回的可变组件,类就必须考虑保护性拷贝这些组件. 2.如果拷贝成本比较高,类又可以信任他的客户端,不进行拷贝保护,但要进行文档的说明. 三.谨慎设计方法签名 1.谨慎地选择方法的名称:遵守规范,保持风格一致. 2.不要过于追求提供便利的方法. 3.编码过长的参数列表 a.一个方法分解成多个方法 b.创建辅助类,保存参数的分组. c.…
一.使类和成员的可访问性最小化 1.尽可能地使每个类或者成员不被外界访问. 2.实例域决不能是共有的.包含公有可变域的类不是线程安全的. 3.除了公有静态final域的特殊情形之外,公有类都不应该包含公有域,并且确保公有静态final域所引用的对象不可变. 二.在公有类中使用访问方法而非公有域 1.如果类是包级私有的,或者是私有的嵌套类,直接暴露它的数据域并没有本质的错误. 2.公有类永远都不应该暴露可变的域. 三.使可变性最小化 不可变的类是指其实例不能被修改的类.为使类不可变,需要遵循以下五…
第19章 泛型 1.泛型概念 泛型提供了一种更准确地使用有一种以上的类型的代码的方式. 泛型允许我们声明类型参数化的代码,我们可以用不同的类型进行实例化. 泛型不是类型,而是类型的模板.   2.声明泛型 ●在类名之后放置一组尖括号 ●在尖括号中用逗号分隔的占位符字符串来表示希望提供的类型,这被叫做类型参数 ●在泛型类声明的主体中使用类型参数来表示应该被替代的类型. eg:声明与实例化 namespace ConsolePractice {     class SomeClass<T1, T2>…
第9章 语句 1.标签语句 ①.标签语句由一个标识符后面跟着一个冒号再跟着一条语句组成 ②.标签语句的执行完全如同标签不存在一样,并仅执行冒号后的语句. ③.给语句添加一个标签允许控制从代码的另一部分转移到该语句. ④.标签语句只允许用在块内部. ⑤.标签名允许与其他标识符重名,但不允许与标签名同名.   2.goto语句 该语句无条件转移控制到一个标签语句   3.using语句 eg: eg:using语句的另一种形式 虽然这种形式也能确保对资源的使用结束后Dispose方法总是被调用,但它…
第1章 C#和.NET框架 1..NET框架的组成 .NET框架由三部分组成(严格来说只有CLR和FCL(框架类库)两部分),如图 执行环境称为:CLR(公共语言运行库),它在运行期管理程序的执行. BCL(基类库)是.NET框架使用的一个大的类库.它包含以下这些类 通用基础类,集合类,线程和同步类,XML类.   2.编译成CIL CIL(公共中间语言):一旦CIL被编译成本机代码,CLR就在它运行时管理它,执行像释放无主内存,检查数组边界,检查参数类型和管理异常之类的任务.   3.托管代码…
第6章 源文件组织 到目前为止,我们讨论过的所有项目都是把源代码统统放入main.m文件中.类的main()函数,@interface和@implementation部分都被塞入同一个文件里.这种结构对于小程序和简便应用来说没什么问题,但是并不适用于较大的项目.随着程序规模越来越大,文件内容会越来越多,查找信息也会越来越困难. 回想一下你的学生时代.你不会把所有的期末论文都放在同一个文件里而会把每篇论文都单独存档,并起一个易懂的文件名. 将程序拆分为多个小文件有助于更快地找到重要的代码,而且其他…
第7章 深入了解Xcode Xcode是一个很好用的工具,有很多强大的功能,不过并不是所有的功能都易于发现.如果你打算长期使用这个强大的工具,就肯定要尽可能多了解它.本章将介绍一些Xcode编辑器的使用技巧,这对于编写和浏览代码以及查找信息都是大有帮助的.此外,还会提到一些用Xcode调试程序的方法. 这里介绍的是Xcode4.3.2,也就是写这本书时的最新版本.苹果公司热衷于在Xcode版本升级时添加或删除一些东西.(默然说话:目前我用的是4.6.2,不知道有多少是一样的) 窗口布局一览 工具…
这本书重点讲了两点,分别是 HTTP的报文格式 HTTPS比HTTP优秀在哪里 接下来分部分讨论一下: 1. HTTP的报文格式 请求报文格式: 请求行     指明请求方法 请求路径 和协议   如 GET / HTTP1.1 通用首部  该部分是请求和响应报文共有的,一般是用来协商,以及位于请求和响应中间的代理服务器该如何运作 请求首部  描述了很多浏览器的信息,浏览器的语言,接收的编码等等 实体首部  该部分是请求和响应报文共有的 ,描述了后行后面内容的编码,是否压缩 等等 空行 内容 响…
一 Qt简介 Qt 是一个跨平台的C++应用程序框架,支持Windows.Linux.Mac OS X.Android.iOS.Windows Phone.嵌入式系统等.也就是说,Qt 可以同时支持桌面应用程序开发.嵌入式开发和移动开发,覆盖了现有的所有主流平台.你只需要编写一次代码,发布到不同平台前重新编译即可. Qt 不仅仅是一个GUI库,它除了可以创建漂亮的界面,还有很多其他组件,例如,你不再需要研究STL,不再需要C++的<string>头文件,不再需要去找解析XML.连接数据库.So…