我正在制作一个应用程序来生成密码
现在我有一个字符列表,当生成密码的所有选项都为空时,它使用以下字符:
chars = "$%#@!*abcdefghijklmnopqrstuvwxyz1234567890?;:ABCDEFGHIJKLMNOPQRSTUVWXYZ^&".ToCharArray();
接下来我有一个其他选项,例如标点符号和符号,所以他没有使用标准字符:
var listOfCharacters = string.Empty;
foreach (var currentOption in options)
{
switch (currentOption)
{
case GenOptions.Punctuation:
listOfCharacters += "&@.#%!*?;:,";
break;
case GenOptions.Symbols:
listOfCharacters += "^$";
break;
default:
break;
}
}
chars = listOfCharacters.ToCharArray();
listOfCharacters.Remove('i'); listOfCharacters.Remove('!');
listOfCharacters.Remove('l'); listOfCharacters.Remove('1');
listOfCharacters.Remove('O'); listOfCharacters.Remove('o');
listOfCharacters.Remove('0'); listOfCharacters.Remove('q');
listOfCharacters.Remove('p'); listOfCharacters.Remove('g');
listOfCharacters.Remove('I');
现在我想建立一个选项来删除相似的字符,所以字符几乎是彼此的副本,比如 o 和 0。我想用 listofcharacter.remove 来做到这一点,但是当我像上面那样使用它时,它给了我一个错误,因为它的空/空。现在我该如何解决这个问题?