我正在尝试休息;出于沮丧。我需要在控制台中了解事件处理程序吗?
问问题
222 次
3 回答
6
capslock
在进入循环之前, 您只需设置一次的值。bool
是一个值类型,所以你得到一个属性的副本Console.CapsLock
,而不是对它的引用。在第一次分配之后,您的变量永远不会改变值。你想要的是这样的:
while(Console.CapsLock)
{
// inform user, perhaps remove the loop and just tell them once
}
或者
capslock = Console.CapsLock;
while(capslock)
{
Console.WriteLine("CapsLock on");
capslock = Console.CapsLock;
}
附带说明一下,在循环中尽可能快地编写消息可能是一个坏主意,因为它只会在用户有机会做任何事情之前填满屏幕。
于 2013-07-27T20:47:37.273 回答
1
不回答您的原始问题,但您检查大写锁定的原因似乎是您希望以全小写形式输入的用户名,因此您可以users.Contains(username)
在屏幕截图中提供的下方执行类似操作或类似操作。
更好的方法是使用 contains 重载,让您设置比较器,然后使用不区分大小写的字符串比较器进行测试。
if(users.contains(username, StringComparer.OrdinalIgnoreCase))
{
//username existed
}
else
{
//username did not exist
}
String.Equals有类似的重载,可以让你忽略大小写
//This would return true if "username = marietjie" and "testUsername = MARIETJIE"
if(username.Equals(testUsername, StringComparison.OrdinalIgnoreCase))
{
//username matched
}
else
{
//username did not match
}
于 2013-07-27T21:47:32.083 回答
-4
此类问题的解决方法!!
于 2013-07-27T21:00:51.127 回答