2013-04-22 88 views
0

在我的課堂上,我的老師給我看了類似的東西。 Visual Studio認爲字符串沒有解析的定義。我記得在課堂上老師說這是something.parse(thingyouwanttoparse)。沒有逗號。我在網上搜索,但所有的選項都不同於老師給我看的選項。我究竟做錯了什麼?將一個int簡單解析爲一個字符串

if (!ValidMenuOption) 
{ 
    string errorMsg = "\n\t Option must be "; 
    int iteration = 1; 
    while (iteration <=numAvailable) 
    { 
     errorMsg = errorMsg + string.parse(iteration) + ", "; 
     iteration += 1 
    } 
    errorMsg = errorMsg + "or 0"; 
    Console.WriteLine(errorMsg); 
} //end if 
+3

強烈建議說出你正在使用的編程語言(並標記它) – alfasin 2013-04-23 00:00:56

+1

也許你正在嘗試string.Format(thingyouwanttoformat)? – iGanja 2013-04-23 00:19:10

+2

可能重複:[將int轉換爲C#中的字符串](http://stackoverflow.com/q/3081916/299327) – 2013-04-23 13:05:30

回答

3

解析就是當你把一個字符串變成一個東西。格式化與解析相反,在C#中,可以通過調用.ToString()來格式化int。如果你正在連接字符串,那麼你甚至可以離開這個方法調用了,所以你的代碼可能成爲

if (!ValidMenuOption){ 
    string errorMsg = "\n\t Option must be "; 
    int iteration = 1; 
    while (iteration <=numAvailable) {       
     errorMsg = errorMsg + iteration + ", "; 
     iteration+=1; 
    } 
    errorMsg = errorMsg + "or 0"; 
    Console.WriteLine(errorMsg); 
} 

如果你想獲得幻想,你可以有太多這樣做的話吧:

if (!ValidMenuOption){ 
    string errorMsg = "\n\t Option must be "+string.Join(", ", Enumerable.Range(1, numAvailable)) + " or 0"; 
    Console.WriteLine(errorMsg); 
}