zoukankan      html  css  js  c++  java
  • 【基础知识】.Net基础加强07 天

    一、 自定义泛型

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

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

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

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

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

    5. 泛型的约束(where)

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

    wps_clip_image-9487

    wps_clip_image-15550

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

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

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

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

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

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

    wps_clip_image-22665

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

    7. wps_clip_image-30925

    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. 文件流:

    wps_clip_image-10375

    wps_clip_image-25981

    字符串和byte数组的转换

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

    wps_clip_image-4381

  • 相关阅读:
    继承String?
    java sizeof
    什么是java序列化,如何实现java序列化?
    负载均衡的时候如何实现相同的session被分配到同一个服务器
    如何实现session共享
    java 字符串排序
    forward和redirect的区别
    数字签名 数字证书
    找出数组中重复次数最多的元素并打印
    get和post区别
  • 原文地址:https://www.cnblogs.com/haoxilu/p/3570763.html
Copyright © 2011-2022 走看看