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