gpt4 book ai didi

c# - 在 C# 中,什么被归类为 "symbol"?

转载 作者:行者123 更新时间:2023-11-30 23:21:01 27 4
gpt4 key购买 nike

所以我正在尝试编写一个程序,要求您创建一个密码。我有一段代码检查用户输入的字符串是否包含符号。我将代码设置为在 bool 值“validPassword”等于 true 时退出循环。

    string pleaseenterapassword = "Create a password:";
bool validPassword = false;
Console.WriteLine(pleaseenterapassword); // Writes to the screen "Create a password:"
string password = Console.ReadLine(); //Sets the text entered in the Console into the string 'password'
bool containsAtLeastOneSymbol = password.Any(char.IsSymbol);
if (containsAtLeastOneSymbol == false) // Checks if your password contains at least one symbol
{
Console.WriteLine("Your password must contain at least one symbol.");
validPassword = false;
}

如果我输入像“Thisismypassword905+”这样的代码,这个代码是成功的,但如果我输入像“Thisismypassword95*”这样的东西,它就不起作用了。我将不胜感激任何帮助。提前致谢!

最佳答案

来自 msdn :

Valid symbols are members of the following categories in UnicodeCategory: MathSymbol, CurrencySymbol, ModifierSymbol, and OtherSymbol. Symbols in the Unicode standard are a loosely defined set of characters that include the following:

  • 货币符号。
  • 类似字母的符号,包括一组数学字母数字符号以及 ℅、№、和™。
  • 数字形式,例如下标和上标。
  • 数学运算符和箭头
  • 几何符号。
  • 技术符号。
  • 盲文图案。

  • 标志符

更新:对于 juharr,谁问为什么 '*' 不在 MathSymbol 的类别中。星号不在 MathSymbols 的类别中,您可以使用此代码段进行检查。或者看这个 fiddle

      int ctr = 0;
UnicodeCategory category = UnicodeCategory.MathSymbol;

for (ushort codePoint = 0; codePoint < ushort.MaxValue; codePoint++) {
Char ch = Convert.ToChar(codePoint);

if (CharUnicodeInfo.GetUnicodeCategory(ch) == category) {
if (ctr % 5 == 0)
Console.WriteLine();
Console.Write("{0} (U+{1:X4}) ", ch, codePoint);
ctr++;
}
}
Console.WriteLine();
Console.WriteLine("\n{0} characters are in the {1:G} category",
ctr, category);

关于c# - 在 C# 中,什么被归类为 "symbol"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39515852/

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