C#基本知识点
文章目录
——readonly和const的区别
原文链接:https://www.cnblogs.com/daidaibao/p/4214268.html#head01
什么是静态常量(Const)和动态常量(Readonly)
先解释下什么是静态常量(Const)以及什么是动态常量(Readonly)。
**静态常量(Const)**是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化的那个值。
**动态常量(Readonly)**的值则是在运行的那一刻才获得的,编译器编译期间将其标示为只读常量,而不用常量的值代替,这样动态常量不必在声明的时候就初始化,而可以延迟到构造函数中初始化。
静态常量(Const)和动态常量(Readonly)之间的区别
静态常量(Compile-time Constant) | 动态常量(Runtime Constant) | |
---|---|---|
定义 | 声明的同时要设置常量值。 | 声明的时候可以不需要进行设置常量值,可以在类的构造函数中进行设置。 |
类型限制 | 只能修饰基元类型,枚举类型或者字符串类型。 | 没有限制,可以用它定义任何类型的常量。 |
对于类对象而言 | 对于所有类的对象而言,常量的值是一样的。 | 对于类的不同对象而言,常量的值可以是不一样的。 |
内存消耗 | 无。 | 要分配内存,保存常量实体。 |
综述 | 性能要略高,无内存开销,但是限制颇多,不灵活。 | 灵活,方便,但是性能略低,且有内存开销。 |
HTTP中的请求类型
- get 类型 用于从服务器端获取数据,且不应该对服务器端有任何操作和影响
- post 类型 用于发送数据到服务器端,创建一条新的数据,对服务器端产生影响
- put 类型 用于向服务器端更新一条数据,对服务器端产生影响 (也可创建一条新的数据但不推荐这样用)
- delete 类型 用于删除一条数据,对服务器端产生影响
paste special
通过VS的选择性粘贴可以将xml快速地反序列化
什么是“流”
在计算机编程中,流就是一个类的对象,很多文件的输入输出操作都以类的成员函数的方式来提供。
计算机中的流其实是一种信息的转换。它是一种有序流,因此相对于某一对象,通常我们把对象接收外界的信息输入(Input)称为输入流,相应地从对象向外输出(Output)信息为输出流,合称为输入/输出流(I/O Streams)。对象间进行信息或者数据的交换时总是先将对象或数据转换为某种形式的流,再通过流的传输,到达目的对象后再将流转换为对象数据。所以,可以把流看作是一种数据的载体,通过它可以实现数据交换和传输。
FileStream类
System.IO
命名空间中的FileStream
类有助于读取,写入和关闭文件。这个类派生自抽象类Stream
。
FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);
FileMode - FileMode
枚举器定义打开文件的各种方法。FileMode
枚举器的成员有:
Append
:它打开一个现有的文件,并将光标放在文件的最后,或者如果该文件不存在则创建此文件。Create
:它创建一个新文件。CreateNew
: 它向操作系统指定它应该创建一个新的文件。Open
:它打开一个现有文件。OpenOrCreate
:它向操作系统指定它应该打开一个文件(如果存在),否则应该创建一个新的文件。Truncate
:它打开一个现有文件,并将其大小截断为零字节。
FileShare - FileShare
枚举器具有以下成员:
Inheritable
:它允许文件句柄将继承传递给子进程。None
:它会拒绝当前文件的共享Read
:它允许打开文件进行读取ReadWrite
:它允许打开文件进行阅读和写入Write
:它允许打开文件进行写入