[温故基础]C# 具名参数

工作了以后发现忘了好多在学校学的基础知识,比如我很多次看到调用方法时,参数前面带了冒号,都一时想不起来这种参数叫什么,只知道命名一般可以省略。

比如这一段,在连个参数前面带了冒号,又给参数命了名这是为什么呢。

 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"));

猜你喜欢

转载自blog.csdn.net/x15037308498/article/details/84061097