gpt4 book ai didi

C# do while 在字符串中输入大小写字母

转载 作者:太空宇宙 更新时间:2023-11-03 22:44:06 24 4
gpt4 key购买 nike

C# do while 问题。

我想要的是能够在源代码中以大写、小写字母终止 Q 或 q。

我引用了 MSDN 但没有成功,所以我在这里有一个问题。

谢谢。

using System;

namespace Try
{
class Program
{
static void Main(string[] args)
{
string str1 = "Q";
string str2 = "q";

if (str1.Equals(str2, StringComparison.OrdinalIgnoreCase)) { }

string menu = "";

do
{
Console.WriteLine("Select Meun:(1)Triangle (2)Rectangle " +
"(Q)Quit",string.Equals
(str1, str2, StringComparison.CurrentCultureIgnoreCase));

menu = Console.ReadLine();

Console.WriteLine(menu + "is selected");
} while (menu != "Q");
}
}
}

最佳答案

选项 1

while (!string.Equals(menu, "Q", StringComparison.OrdinalIgnoreCase));

正如 StringComparision 所暗示的,这将忽略大小写并将 q 和 Q 视为相同。

static void Main(string[] args)
{
string str1 = "Q";
string str2 = "q";

if (str1.Equals(str2, StringComparison.OrdinalIgnoreCase)) { }

string menu = "";

do
{
Console.WriteLine("Select Meun:(1)Triangle (2)Rectangle " +
"(Q)Quit",string.Equals
(str1, str2,
StringComparison.CurrentCultureIgnoreCase));

menu = Console.ReadLine();

Console.WriteLine(menu + "is selected");
} while (!string.Equals(menu, "Q", StringComparison.OrdinalIgnoreCase));
}

选项 2

while (menu.ToUpper() != "Q") 

这会将变量菜单中的所有内容转换为大写。它更容易阅读和完成工作,我个人更喜欢这种方法。

static void Main(string[] args)
{
string str1 = "Q";
string str2 = "q";

if (str1.Equals(str2, StringComparison.OrdinalIgnoreCase)) { }

string menu = "";

do
{
Console.WriteLine("Select Meun:(1)Triangle (2)Rectangle " +
"(Q)Quit",string.Equals
(str1, str2,
StringComparison.CurrentCultureIgnoreCase));

menu = Console.ReadLine();

Console.WriteLine(menu + "is selected");
} while (menu.ToUpper() != "Q");
}

附加下面还有一个使用 switch 语句的示例,如果您计划在将来有很多选择,这些语句非常好并且更容易阅读:

do
{
Console.WriteLine("Select Menu:(1)Triangle (2)Rectangle (Q)Quit");

menu = Console.ReadLine();
switch (menu.ToUpper())
{
case "1":
//DO SOME CODE
break;
case "2":
//DO SOME CODE
break;
case "Q":
return;
}

Console.WriteLine(menu + " is selected");
} while (true);

或者此方法不使用任何 StringComparison 或 ToUpper,如果您想要单独的大写和小写命令,或者如果您不想进行任何额外的转换/检查,则可以使用此方法。

do
{
Console.WriteLine("Select Menu:(1)Triangle (2)Rectangle (Q)Quit");

menu = Console.ReadLine();
switch (menu)
{
case "1":
//DO THIS
break;
case "2":
//DO THAT
break;
case "q":
case "Q":
return;
}

Console.WriteLine(menu + " is selected");
} while (true);

关于C# do while 在字符串中输入大小写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50783171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com