在 C# 中,我使用 aStreamReader读取文件,每行一行。我还将当前行的编号保留在 中int,以报告可能的错误消息。
阅读每一行都伴随着一些测试(例如,以#注释开头的行,需要跳过),所以我打算将整个阅读过程放在一个函数中,它会一直阅读,直到遇到有用的行,然后返回该行。如果遇到EOF它将简单地返回null。
当我将此函数定义为 时,我以为我很聪明string read(StreamReader sr, out int lineNumber),但现在事实证明,C# 将无法lineNumber++在该函数内部执行类似的操作。它假设变量还没有被赋值,可能是因为在这个函数调用之前它没有办法知道它是否已经被赋值。
所以,问题很简单:我怎样才能指定这个变量是一个inout参数(我认为这是一个术语;我听说它在其他编程语言的上下文中被提及)?这甚至可能吗?我绝对不会成为lineNumber我班的一员,所以这不是一个选择。