工作了以后发现忘了好多在学校学的基础知识,比如我很多次看到调用方法时,参数前面带了冒号,都一时想不起来这种参数叫什么,只知道命名一般可以省略。
比如这一段,在连个参数前面带了冒号,又给参数命了名这是为什么呢。
var reader = new StreamReader(stream: response.GetResponseStream(), encoding: Encoding.GetEncoding("utf-8"));
我进到StreamReader这个类中发现
public StreamReader(Stream stream);
public StreamReader(string path);
public StreamReader(Stream stream, bool detectEncodingFromByteOrderMarks);
public StreamReader(Stream stream, Encoding encoding);
public StreamReader(string path, bool detectEncodingFromByteOrderMarks);
public StreamReader(string path, Encoding encoding);
public StreamReader(Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks);
public StreamReader(string path, Encoding encoding, bool detectEncodingFromByteOrderMarks);
public StreamReader(string path, Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
public StreamReader(Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
StreamReader有许多参数类型不一样的类,我们调用参数的时候应该保持类型相同,但是编辑器的强大使得我们可以省略这个命名,这种参数叫具名参数。这里的命名是指出我调用的是
public StreamReader(Stream stream, Encoding encoding);
var reader = new StreamReader(stream: response.GetResponseStream(), encoding: Encoding.GetEncoding("utf-8"));