0

在我的课堂上,我的老师给我看了类似的东西。Visual Studio 说字符串没有解析的定义。我记得在课堂上老师说的something.parse(thingyouwanttoparse)。没有逗号。我在网上搜索过,但所有选项都与老师给我的选项不同。我究竟做错了什么?

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
4

1 回答 1

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);
}
于 2013-04-23T00:11:01.490 回答