一、 自定义泛型

1. 泛型的目的:提高代码的复用性。

2. T:一般叫做“类型参数”,把数据类型作为参数传递

。一般用T类表示或者以大写T开头的比如:TKey,TValue、TOutput、TResult…

3. .net2.0版本中引入的泛型

4. 泛型类、泛型接口、泛型委托(★)

5. 泛型的约束(where)

===============使用where关键字进行类型约束=====================

public  class  Person<T,T1,T2>   where T : struct//约束T必须为数值类型

where T1 : class //后面必须是引用类型

where T2 : new() //这个类必须带有一个无参构造函数,非抽象、非私有

二、 装箱和拆箱 box    unbox(面试的时候经常涉及)

1. 装箱:将【值类型】转换为【引用类型】的过程,叫  装箱。

2. 拆箱: 将【引用类型】转换为【值类型】的过程,叫  拆箱。

6. 注意: 装箱的时候使用什么类型装箱,就必须使用什么类型来拆箱。

7.

8. 装箱和拆箱的性能问题: 性能 会降低。因此写程序的时候尽量不要发生装箱的过程。

三、 foreach()的执行原理

1. 任何类型,只要想使用foreach来循环遍历,就必须在当前类型中存在:

Public  IEnumerator GetEnumerator()方法,(一般情况我们会通过实现IEnumerable接口,创建该方法)

2. Public  IEnumerator GetEnumerator()这个方法的作用不是用来遍历的,二十用来获取一个对象,这个对象才是用来遍历的。

四、 文件操作相关的类

1. File //操作文件,静态类,对文件整体操作。拷贝、删除、剪切等。

Directory //操作目录(文件夹),静态类。

DirectoryInfo //文件夹的一个“类”,用来描述一个文件夹对象(获取指定目录下的所有目录时返回一个DirectoryInfo数组。)

FileInfo//文件类,用来描述一个文件对象。获取指定目录下的所有文件时,返回一个FileInfo数组。

Path//对文件或目录的路径进行操作(很方便)【字符串】

Stream//文件流,抽象类。

FileStream//文件流,MemoryStream(内存流),NetworkStream(网络流)

StreamReader //快速读取文本文件

StreamWriter//快速写入文本文件

2. Path类

a) Path类中的方法基本上只是对字符串的操作,与实际存储在磁盘上的文件没有任何关系。

3. Directory类:

a) 创建一些目录

b) DirectoryInfo dirInfo = new DirectoryInfo(@”c:\abc”);

把一个文件夹当作对象来用。

五、 什么是递归?

递归就是自己调用自己。

如果递归的时候没有停止条件,则肯定会死递归。最后报异常,栈溢出。

所以一般递归的时候肯定会有一个终止条件

或者是在某种条件下调用自己(递归)

六、 windowfrom中

Tag,没有意义,但是可以用来存放用户的数据。

l 获取当前exe文件执行的路径:

Assembly.GetExecutingAssembly().Location;

Application.StartupPath

七、 File类,主要是操作文件的

1. 判断文件是否存在

File.Exists(文件路径名);

File.Delete(string);文件的删除,即便文件不存在也不报异常

• string[] ReadAllLines(string path) 读取文本文件到字符串数组中

• string ReadAllText(string path) 读取文本文件到字符串中

• void WriteAllText(string path, string contents)将文本contents保存到文件path中,会覆盖旧内容。

• WriteAllLines(string path,string[] contents),将字符串数组逐行保存到文件path中,会覆盖旧内容。

• void AppendAllText(string path, string contents),将文本contents附加到文件path中

File.Create(“ path”);//创建文件

2. 文件流:

字符串和byte数组的转换

1. 字符串转换成byte字节数组

【基础知识】.Net基础加强07 天的更多相关文章

  1. Linux基础知识与基础命令

    Linux基础知识与基础命令 系统目录 Linux只有一个根目录,没有盘符的概念,文件目录是一个倒立的树形结构. 常用的目录功能 bin 与程序相关的文件 boot 与系统启动相关 cdrom 与Li ...

  2. java线程基础知识----线程基础知识

    不知道从什么时候开始,学习知识变成了一个短期记忆的过程,总是容易忘记自己当初学懂的知识(fuck!),不知道是自己没有经常使用还是当初理解的不够深入.今天准备再对java的线程进行一下系统的学习,希望 ...

  3. day63:Linux:nginx基础知识&nginx基础模块

    目录 1.nginx基础知识 1.1 什么是nginx 1.2 nginx应用场景 1.3 nginx组成结构 1.4 nginx安装部署 1.5 nginx目录结构 1.6 nginx配置文件 1. ...

  4. 这些C++基础知识的基础知识你都学会了吗?

    一.C++基础知识 新的数据类型 C语言中的数据类型  C++中新的数据类型 思考:新的数据类型有什么好处?请看下面的代码:  可以见得:新的类型使整个程序更加简洁,程序变得易读易懂!这个就是bool ...

  5. Ceph基础知识和基础架构认识

    1  Ceph基础介绍 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备存储和文件系统服务.在虚拟化领域里,比较常用到的是Cep ...

  6. Ceph 基础知识和基础架构认识

    1  Ceph基础介绍 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备存储和文件系统服务.在虚拟化领域里,比较常用到的是Cep ...

  7. 算法导论 - 基础知识 - 算法基础(插入排序&归并排序)

    在<算法导论>一书中,插入排序作为一个例子是第一个出现在该书中的算法. 插入排序: 对于少量元素的排序,它是一个有效的算法. 插入排序的工作方式像许多人排序一手扑克牌.开始时,我们手中牌为 ...

  8. 集合框架基础知识-----java基础知识

    Java集合框架 :接口:Collection.List .Set. Map:实现类:ArrayList.LinkedList.Vector.HashSet.TreeSet.HashMap.HashT ...

  9. web前端基础知识- Django基础

    上面我们已经知道Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Sessi ...

  10. jQuery基础知识--Form基础(续)

    下拉框应用 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF ...

随机推荐

  1. NHibernate系列文章五:NHibernate配置

    摘要 NHibernate有多种配置方法,代码,xml文件,以及Fluent NHibernate.这里只介绍最常用的两种NHibernate配置方法:通过代码和通过配置文件. 1. 通过代码配置 通 ...

  2. TabCtrl的基本用法

    MFC TabCtrl控件的使用方法及思路 1.建立基于Dialog的应用程序 2.添加TabCtrl控件,并关联变量 3.建立TabCtrl中存放的Dialog子对话框若干,并关联类 4.在Tabc ...

  3. Egret Wing3 商城插件下载和使用

    吐槽下官网目前找不到插件商城入口 . 根据管理员提供的地址: http://store.egret.com/work/21-0.html 平时我们可以在wing里直接打开商城. 打开wing使用向导 ...

  4. C# 分部类与分部方法

    一.定义 分部方法是指能够使编码人员跨多个代码文件实现类型的语法.简而言之.它可以让我们在一个文件中构建方法原型,而在另一个文件中实现 使用分部方法和分部类需要使用关键词partial,且紧靠在cla ...

  5. newCachedThreadPool线程池

    public static ExecutorService newCachedThreadPool()创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们.对于执行很多短期异步任 ...

  6. dmesg

    在开机的时候你会发现有很多的讯息出现吧,例如 CPU 的形式.硬盘. 光盘型号及硬盘分割表等等,这 些信息的产生都是核心 (kernel) 在进行硬件的测试与驱动啦.要看这些讯息你可以用 dmesg  ...

  7. SQLServer2008R2 mdf文件还原数据库

    偶然遇到要用mdf文件restore数据库,试了2个小时才弄出来,百度查出来的我试了都不太好用,或者是我没理解. 下面把我用的记录一下,以防忘记. 工具:SQLServer 2008R2 步骤: 1. ...

  8. php设计模式学习之观察者模式

    什么都不说,先看代码: interface userOperateImpl { public function operate($username); } class userLoginLog imp ...

  9. SAP 禁止某个库位的货物移动

    SAP 禁止某个库位的货物移动 1.先去spro --> 物料管理 --> 库存管理和实际库存 --> 权限管理 --> 授权检查存储位置 将要禁止的库位后的权限勾选上, 2. ...

  10. servlet实现的三种方式对比(servlet 和GenericServlet和HttpServlet)

    第一种: 实现Servlet 接口 第二种: 继承GenericServlet 第三种 继承HttpServlet (开发中使用) 通过查看api文档发现他们三个(servlet 和GenericSe ...