我在寫下面的程序,我必須在if語句之外訪問變量「lat」。但編譯器在使用此語句時顯示錯誤。C#編碼問題
int LAC = Convert.ToInt32(lat[0], 16);
我得到的錯誤是:
名LAT不會在目前情況下
可以什麼可能的原因存在嗎?因爲我在if循環之外使用了一個在if循環中初始化的字符串。另外,如果我將某個函數聲明爲局部函數,那麼這個錯誤將被證明是合理的,但是在循環中使用,然後在循環之外使用時會顯示錯誤。可能是什麼原因?代碼如下:
flag = string.Compare(excel_getValue("A" + i), "DATE");
if (flag == 1)
{
string[] date = excel_getValue("A" + i).Split();
}
else if (flag != 1)
{
string[] lat = excel_getValue("A" + i).Split();
}
if (result == 0)
{
MessageBox.Show("Location Tracking Complete");
// Environment.Exit(0); // program exit
Thread.Sleep(5000);
}
int LAC = Convert.ToInt32(lat[0], 16); // Converting to int
如果flag == 1,應該使用什麼'lat'?你聲明它並只在一個條件下設置它的值 –
@ S.Serp我從Excel工作表的第一列讀取這些數據。如果我將在我的數據中獲得關鍵字「DATE」,它將被存儲在日期變量中,否則數據將被存儲在經緯度變量.'flag = string.Compare(excel_getValue(「A」+ i),「DATE」) ;'這是決定旗幟價值的陳述。 –
獲取存儲我想要訪問它,但無法在循環外如果 –