2016-10-15 71 views
-5

我正在使用C#開發一個項目,該項目需要根據用戶輸入運行一個方法。用戶可以輸入整數或字符串到文本框中。是否有可能創建一個未聲明的變量,如果不是,我該如何去使用正確的方法進行用戶輸入?我計劃創建兩個重載的方法。C#可變問題

+0

傳球對象,然後將其轉換爲int或方法本身 –

+0

動態類型的字符串內,可以使用該 https://msdn.microsoft.com/en-us/library/dd264741.aspx –

回答

1

您可以使用object作爲您的參數類型,然後使用.GetType()is執行類型檢查。還有其他替代方法,如dynamic,但當您需要對對象執行方法調用而不必將其轉換爲實際類型時,使用dynamic更爲常見。

無論如何,如果您從控制檯讀取,它總是一個字符串,所以你可以在它上面int.TryParse()

public void DoStuff(string param) 
{ 
    int chosen; 
    if(int.TryParse(param, out chosen) 
    { 
     // is an int do stuff with chosen 
    } 
    else 
    { 
     // it's not do stuff with param 
    } 
} 
+0

感謝您幫幫我 – Jeff

0

用戶可以輸入一個整數或一個字符串轉換爲文本框。

對我來說似乎很簡單。你通過Text屬性獲得來自文本框的輸入,該屬性始終是一個字符串。所以你需要檢查輸入是否可以使用TryParse解析爲一個整數。 個人我不明白爲什麼你需要重載的方法。這些方法除了參數的類型是否相同?如果不是,我不會選擇超載,但只是明確命名的不同。