2013-04-22 61 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); 
} 
相关问题