gpt4 book ai didi

c# - 我可以在 c# 中使用带有 switch case 的正则表达式吗?

转载 作者:太空狗 更新时间:2023-10-29 19:51:26 25 4
gpt4 key购买 nike

我可以像这样在 C# 中编写 switch case 吗?

switch (string)

case [a..z]+

// do something

case [A..Z]+

// do something

....

最佳答案

是的,您可以在 C# 7 中使用(没有人注意到我在字符类 .. 中使用了不正确的范围字符,而不是 -)。现在更新了一个实际有效的稍微有用的示例:

using System.Text.RegularExpressions;
string[] strings = {"ABCDEFGabcdefg", "abcdefg", "ABCDEFG"};
Array.ForEach(strings, s => {
switch (s)
{
case var someVal when new Regex(@"^[a-z]+$").IsMatch(someVal):
Console.WriteLine($"{someVal}: all lower");
break;
case var someVal when new Regex(@"^[A-Z]+$").IsMatch(someVal):
Console.WriteLine($"{someVal}: all upper");
break;
default:
Console.WriteLine($"{s}: not all upper or lower");
break;
}
});

输出:

ABCDEFGabcdefg: not all upper or lower
abcdefg: all lower
ABCDEFG: all upper

关于c# - 我可以在 c# 中使用带有 switch case 的正则表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42707983/

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