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. Xcode中的iOS模拟器(iOS Simulator)的介绍和使用心得

    http://www.crifan.com/intro_ios_simulator_in_xcode_and_usage_summary/

  2. [FileStream] 使用

    // 要上传的文件 FileStream fs = new FileStream(路径, FileMode.Open, FileAccess.Read); FileMode 是指确定如何打开或创建文件 ...

  3. html Table实现表头固定

    最近一直在搞前台琐碎的东西,也学习了一下linux,没有时间对新的东西进行深入的研究和学习,没有写博客,不过归咎其原因还是在于自己的惰怠. 废话不多说,今天想将一个前台页面设计的一个小东西分享一下,那 ...

  4. 智能的PHP缩图类

    *作者:落梦天蝎(beluckly)*完成时间:2006-12-18*类名:CreatMiniature*功能:生成多种类型的缩略图*基本参数:$srcFile,$echoType*方法用到的参数:$ ...

  5. XML DOM 遍历Xml文档

    1.xml文档内容: <?xml version="1.0" encoding="utf-8" ?> <bookstore> <b ...

  6. vim的命令集合

    命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令.启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并 ...

  7. Swift中数组集合-b

    数组(Array)是一串有序的由相同类型元素构成的集合.数组中的集合元素是有序的,可以重复出现. 声明一个Array类型的时候可以使用下面的语句之一. var studentList1:Array&l ...

  8. LeetCode_Reverse Nodes in k-Group

    Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If ...

  9. ACM2136

    /* Problem Description Everybody knows any number can be combined by the prime number. Now, your tas ...

  10. hdu3849-By Recognizing These Guys, We Find Social Networks Useful:双连通分量

    By Recognizing These Guys, We Find Social Networks Useful Time Limit: 2000/1000 MS (Java/Others)     ...