在C#中,while
循环是一种控制流语句,它允许代码块重复执行,直到指定的条件不再为真。null
在C#中是一个特殊的值,表示引用类型的变量不指向任何对象。对于整数类型(int
),C#提供了一个特殊的值null
,即int?
(可空整数类型),它允许整数变量有一个null
值。
以下是如何在C#中使用while
循环和null
(或int?
)值来处理用户输入的示例:
null
值。当你需要从用户那里获取一个整数输入,并且希望在用户输入有效整数之前不断提示用户时,可以使用这种结构。
using System;
class Program
{
static void Main()
{
int? userInput = null; // 初始化为null
while (userInput == null)
{
Console.Write("请输入一个整数: ");
string input = Console.ReadLine();
if (int.TryParse(input, out int number))
{
userInput = number; // 如果转换成功,将userInput设置为该整数
}
else
{
Console.WriteLine("输入无效,请重新输入。");
}
}
Console.WriteLine($"您输入的整数是: {userInput}");
}
}
int? userInput = null;
初始化一个可空整数变量userInput
为null
。while (userInput == null)
当userInput
为null
时,循环继续执行。string input = Console.ReadLine();
读取用户输入的一行文本。if (int.TryParse(input, out int number))
尝试将用户输入的文本转换为整数。如果转换成功,number
变量将包含转换后的整数值,并且方法返回true
;否则返回false
。userInput
设置为该整数,循环结束。问题:用户可能输入非数字字符,导致int.TryParse
失败。
解决方法:如上所示,使用int.TryParse
并在失败时提示用户重新输入。
通过这种方式,你可以确保程序只在接收到有效的整数输入后才继续执行,从而避免了由于无效输入导致的潜在错误。
领取专属 10元无门槛券
手把手带您无忧上云