coust 定义常量
string是密封类,所以不能继承它
namespace默认是按照文件夹的结构命名的,如(System.文件夹.子文件夹),而且namespace是可以手动改的
 
ArrayLists可以放进去所有类型的变量,可以把它看作动态数组
add
remove,removeAt
clear
list.Contains();     判断元素是否存在
 
List<T>
HashSet<T>     只保留一份重复的数据
Dictionary<T,T>
 
Stopwatch类是秒表
Random     随机数
Path          路径处理
     Combine(第一部分,第二部分)     //合并路径,自动处理路径的斜杠
File
     File.WriteAllText(路径,内容)//写入文件,如果文件不存在则创建,如果文件夹不存在则抛出异常
Directory
StringBuilder
     Append(),AppendLine()
 
可空类型
在值类型名后加上个问号(?)可以声明可空类型的变量
int? i=null;
i.HasValue()     判断是否为null
 
FTP,HTTP处理
WebClient
FtpWebRequest
时间间隔
 TimeSpan
声音处理
SoundPlayer
委托中的匿名方法
delegate()
{
     //匿名方法
}
Lambda表达式
TestDelegate td = (s1,s2) => {
     Console.WriteLine(s1+s2);
}
扩展方法
扩展静态类的方法,使字面量可以直接调用类似String类的ToLower(),ToUpper()方法
如:str.IsEmail()
无参扩展方法:自己写个静态类,在方法的第1个参数前加上this关键字
有参的扩展方法,第一个参数就是要调用的对象,以后的参数依次是扩展方法的参数
Linq
类型推断
 var关键字声明变量,但和JS中不同,JS是弱类型的语言,可以为变量赋任何类型的值,
C#中一旦为变量赋了一种类型的值,就不能为其赋其余类型的值
匿名类型
var p = new { Name="Sky",Age=18 };
p是匿名类型的对象
LINQ的简便方法
from i in values
where i<0
orderby i descending 
select i;//select在最后
//select new Person{Age=10;}     可以创建对象
 
GC.Collect();     //手动垃圾回收
 
WeakReference 弱引用,监视一个变量是否被回收
 
string 和 StringBulder的区别
StringBuilder不会产生大量的临时字符串
 
"abc"=="123"     //判断值
object.RefernceEquals(s1,s2)     //判断对象的引用是否相同
 
字符串拘留池,会重用字符串对象,
但每次new出一个字符串,就肯定是创建了一个新的对象
 
C#中使用指针
在项目的属性中选中"允许不安全的代码",并且在方法前要加上"unsefe"关键字才可以使用指针
 
运算符重载
public bool operator ==(Person p1,Person p2)
 
结构体是值类型
 
浅度复制和深度复制
 
ICloneable接口提供一个Clone()方法可以进行深度复制,但实现代码需要自己完成
new一个对象把各个属性都挨个复制
 
可以使用对象的MemberwiseClone()方法来进行浅度复制,
它返回一个Object对象,需要自己转换成所需 的类型
 
数字与字符串相加,以数字开头,就返回与第一个数字相连的和再与余下的字符串相加
,以字符串头,就以数字的ToString()相加
 
字符串与一个非字符串对象相加,得到的是它的ToString*(
 
sealed 作为类的修饰符是密封类,作为方法的修饰符,不允许子类override
 
Stream
File,FileInfo,Directory,DirectoryInfo
FileStream,GZipStream
StreamReader,StreamWriter
 
泛型委托,系统定义的委托Func<T>
 
泛型约束
//构造函数约束
function<T>() where T:new() //约束T必须有无参的构造函数
//继承约束
function<T>() where T:Base
default(T)     返回这个类型的默认值,如果是值类型就返回null
 
程序集
反射Assembly类
 
Type类是对类的更高级的抽象,所有类都是它的实例
//没有对象的时候通过类来获得类的描述
Type t=typeof(Person)
//GetType()获得对象的类的类型描述
asbls[0]
Type t2=dog.GetType();
 
Activator.CreateInstance(type);     //创建type类的实例,要求必须有无参的构造函数
 
typeof(Class) 返回Class的Type描述
 
 
 
类的标记(Attribute)
[Serialize]     标记类为可序列化
[DisplayName("显示的类名")]
 
 
 

私人C#笔记的更多相关文章

  1. 练手项目:利用pygame库编写射击游戏

    本项目使用pygame模块编写了射击游戏,目的在于训练自己的Python基本功.了解中小型程序框架以及学习代码重构等.游戏具有一定的可玩性,感兴趣的可以试一下. 项目说明:出自<Python编程 ...

  2. 4.2 面向对象分析(二) CRC方法标识概念类

    CRC  又称为CRC索引卡片:CRC card  每张卡片代表一个类 Each card represents one class  每张卡片上写出这个类承担的职责.与其合作交互的其他类名   ...

  3. SQL SERVER 2012/ 2014 分页,用 OFFSET,FETCH NEXT改写ROW_NUMBER的用法(转)

    写法: 假装有个表Shop,其中有一列ShopName,取100000到100050条数据. ROW_NUMBER 的写法 SELECT * FROM (SELECT ShopName , ROW_N ...

  4. SQL SERVER 2012/ 2014 分页,用 OFFSET,FETCH NEXT改写ROW_NUMBER的用法

    写法: 假装有个表Shop,其中有一列ShopName,取100000到100050条数据. ROW_NUMBER 的写法 SELECT * FROM ( SELECT ShopName , ROW_ ...

  5. 【私人向】Java复习笔记

    此笔记学习于慕课网:Java入门第一季-第三季,想学的可以点击链接进行学习,笔记仅为私人收藏 建议学习时间:2-3天(极速版) 数据类型 基本数据类型存的是数据本身 引用类型变量(class.inte ...

  6. C# 私人笔记

    .ADO.NET 连接数据库的模版 string constr = "data source=127.0.0.1\\mysql2008;database=dbtest;integrated ...

  7. Docker 学习笔记(CentOS 7.1)

    基本概念 Docker 包括三个基本概念 镜像(Image) 容器(Container) 仓库(Repository)理解了这三个概念,就理解了 Docker 的整个生命周期. Docker 镜像 D ...

  8. python3.x随手笔记1

    语法分析 Python程序读取的 解析器 . 解析器的输入流 令牌 ,生成的 词法分析程序 . 这一章描述了如何 词法分析程序把一个文件分解成令牌. Python读取程序文本作为Unicode代码点; ...

  9. 《Power》读书笔记

    原创作品 版权所有 转载请注明出处! 序言 权力是“争”来的,不是“等”来的. 会计.工商管理.营销和销售部门.财务人员(背景).企业咨询小组 在位晋升而竞争的时候,对于公平竞争原则,有些人会采取变通 ...

随机推荐

  1. HTML5框架、背景和实体、XHTML的使用规范

    HTML5框架 cols :竖排 rows:横排,frameset frame已弃用  iframe仍保留使用.用法: Target属性: HTML5实体 XHTML的使用规范

  2. Swift 变量、常量、数据类型

    import Foundation print("HelloSwift") // 声明变量 var a = var b = a = b = // 常量 let c = a+b va ...

  3. 使用jQuery操作元素的属性与样式

    本文学习如何使用jQuery获取和操作元素的属性和CSS样式. 元素属性和Dom属性 对于下面这样一个标签元素: <img id='img' src="1.jpg" alt= ...

  4. C#中对Excel进行操作

    工作中要处理一批数据,主要是处理从别处导出来的Excel表格(大概有一千多行,三十多列),拿到表格对Excel表格进行分析,按照一定的规则进行拆分成为一万多行的数据:首先这个需求要用程序进行处理的背景 ...

  5. java开发中的23中设计模式

    设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  6. 神经网络作业: NN LEARNING Coursera Machine Learning(Andrew Ng) WEEK 5

    在WEEK 5中,作业要求完成通过神经网络(NN)实现多分类的逻辑回归(MULTI-CLASS LOGISTIC REGRESSION)的监督学习(SUOERVISED LEARNING)来识别阿拉伯 ...

  7. 作业:汽车查询--弹窗显示详情,批量删除 ajax做法(0521)

    作业:显示以下界面: 作业要求: 1.查看详细信息,以弹窗的形式显示,使用ajax2.批量删除 一.主页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...

  8. PHP二维数组排序函数

    PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义. 以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义: functi ...

  9. Python核心编程(第八章)--条件和循环

    如果一个复合语句(if子句,while或for循环)的代码仅仅包含一行代码,可以和前面的语句写在同一行上:   elif语句(else-if) 条件表达式(三元操作符) X if C else Y 计 ...

  10. 成为IT精英,我奋斗了7年

    成为IT精英,我奋斗了7年 这些日子 我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量.最近看到很多学生朋友和我当年一样没有方向 ,所以把我 ...