这是我的代码:
// Чтение из файла
private string ReadFile(string pathFile)
{
try
{
using (StreamReader streamReader = new StreamReader(pathFile))
{
string textFile = streamReader.ReadToEnd();
return textFile;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
当然,方法名是ReadFile()
用红色下划线的,因为不是所有的代码行都返回一个值。应该抓住什么回报?还是我写错了什么?
return null;
或return"";
更一般地,您可以return
为函数创建泛型。问题是该方法无论如何都必须返回一些值。
(仅当没有抛出异常时)
可以在以下两个位置之一添加 return 语句:
通常,在这种情况下,
null
会返回一个空字符串""
,具体取决于您调用它的方式和位置。你可以这样检查:
我还建议您不要使用它
StreamReader
来读取文件。已经有现成的方法
File.ReadAllText()
:,File.ReadAllBytes()
在我看来,在这种情况下,代码应该在代码中抛出更高的异常。
如果我尝试使用这种方法读取文件并获取一个字符串,我会假设该文件只是空的,尽管实际上路径可能是无效的等等。
为了表明您的方法可能会或可能不会返回值,在 C# 中通常会使用
Try*
.因此,由于 C# 7.0+ 的功能,您可以编写这样的结构: