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. Asp.Net WebApi+Microsoft.AspNet.WebApi.Core 启用CORS跨域访问

    WebApi中启用CORS跨域访问 1.安装 Nugget包Microsoft.AspNet.WebApi.Cors This package contains the components to e ...

  2. (转)jquery.url.js 插件的使用

    jQuery插件之-jQuery URL Parser   jQuery插件Query URL Parser用于解析URLs字符串.通过它我们可以方便地获取协议.主机.端口.查询参数.文件名.路径等等 ...

  3. 强大的微软Microsoft Translator翻译接口

    一.前言 当我们需要对日文.韩文等语言转换中文字符的时候,就用到了微软提供的翻译接口. 二.实现流程 1.首先注册一个账号 https://datamarket.azure.com/account 2 ...

  4. uva 10994 - Simple Addition

    //组合数学 //计算sum{i从右往左数的第一个非0数字,p<=i<=q}. #include <cstdio> typedef long long ll; ll sum(l ...

  5. php——会话控制

    1.什么叫做会话控制 允许服务器根据客户端做出的连续请求. 2.为什么需要会话控制? 因为当你打开一个网站,并想访问该网站的其他页面的时候,如果没有会话控制,当跳转到其他页面的 时候,就需要再次输入账 ...

  6. Apache之AllowOverride参数详解

    通常利用Apache的rewrite模块对 URL 进行重写的时候, rewrite规则会写在 .htaccess 文件里.但要使 apache 能够正常的读取.htaccess 文件的内容,就必须对 ...

  7. 获取当前页面的完整URL

    PHP实现 #测试网址: http://localhost/blog/testurl.php?id=5 //获取域名或主机地址 echo $_SERVER['HTTP_HOST']."< ...

  8. HTML&CSS基础学习笔记1.7-高亮文本及组合使用

    HTML提供了<mark>标签可以让你的文本高亮,这样看起来更加醒目.<mark>标签内的文本会呈现特殊的样式,它和<em>,<strong>一样也是一 ...

  9. Jetty9开发(1)

    Version: 9.2.14.v20151106  Jetty : 开发文档 jetty的官网:http://www.eclipse.org/jetty/ Jetty : 开发文档 目录 I. je ...

  10. webpack ,react

    一小时包教会 —— webpack 入门指南 http://***/Article/50764   ------------------ 轻松入门React和Webpack http://www.in ...