在C#中,我使用StreamReader
來讀取文件,每行一行。我還將當前行號保留在int
中,以便報告可能的錯誤消息。C#是否支持inout參數?
讀取每一行隨着一些測試(例如,以#
開頭的行是註釋,並且需要跳過),所以我打算將整個閱讀過程放在一個函數中,它將繼續閱讀直到它遇到有用的行,然後返回該行。如果遇到EOF
,它將僅返回null
。
我想我是聰明的,當我這個函數爲string read(StreamReader sr, out int lineNumber)
,但現在事實證明,C#將不能夠做這樣的事情lineNumber++
該函數內部。它假定變量尚未分配,可能是因爲它無法知道它是否在此函數調用之前被分配。
所以,問題很簡單:我怎樣才能指定這個變量是一個inout
參數(我認爲這是一個術語;我聽說過它在其他編程語言的環境中被提及)?這甚至可能在第一位? 我絕對不會讓lineNumber
成爲我的班級的成員,所以這不是一個選項。
將其定義爲ref更多http://msdn.microsoft.com/zh-cn/ -IN/library/14akc2c7(v = vs.71).aspx – 2013-05-02 07:58:37
你在找什麼參考參數:http://msdn.microsoft.com/de-de/library/14akc2c7(v=vs.80) .aspx – Mecaveli 2013-05-02 07:58:42
c#中'inout'的等價物是'ref'。 'out'也是一個方便的。那是你在找什麼? – 2013-05-02 07:59:34