mag*_*tic 6 .net c# linq string alphanumeric
我正在寻找一种优雅的方式,最好是一个简短的linq表达式来计算给定字符串包含多少个字母数字字符.
我现在这样做的"无聊"方式是这样的:
int num = 0;
for (int i = 0; i < password.Length; i++)
{
if (!char.IsLetterOrDigit(password, i))
{
num++;
}
}
if (num < MinRequiredNonAlphanumericCharacters)
return false;
Run Code Online (Sandbox Code Playgroud)
这已经相当短了,但我确信有一些linq魔法,这可以用更短,同样可理解的表达来完成,对吧?
Aus*_*nen 17
这是获得字母和数字计数的快速而又脏的LINQ方式:
password.Count(char.IsLetterOrDigit)
Run Code Online (Sandbox Code Playgroud)
这更像是你正在做的事情的直接副本:
password.Count(c => !char.IsLetterOrDigit(c))
Run Code Online (Sandbox Code Playgroud)