我该怎么转弯.有没有进入for循环
本文关键字:for 循环 有没有 转弯 | 更新日期: 2023-09-27 18:01:04
我在将以下代码转换为for循环时遇到了一些问题。代码的目的是检查字符串中是否同时包含字母和数字
else if (!string.Any(Char.IsLetter) || !string.Any(Char.IsDigit))
{
return false;
}
有什么想法吗?
你的意思是这样的吗?
bool anyLetter = false;
bool anyDigit = false;
foreach(var ch in str)
{
if(char.IsLetter(ch)) anyLetter = true;
if(char.IsDigit(ch)) anyDigit = true;
if(anyLetter && anyDigit) break;
}
return anyLetter || anyDigit;
请注意,如果此字符串应至少包含一位和一个字母,则需要使用&&
而不是||
由于Selman22似乎已经回答了这个问题,我发现的另一个解决方案是,我想你也可以使用RegEx:
letterCount = Regex.Matches(yourstring,@"[a-zA-Z]").Count;
numberCount = Regex.Matches(yourstring,@"'d").Count;
return letterCount != 0 && numberCount != 0;
你是指一组字符串的循环吗?
var src = new List<string>{"A4C", "D3F", "G7I"};
var allHaveCharAndDigit = src.TrueForAll(s => s.Any(c => char.IsLetter(c)) && s.Any(c => char.IsDigit(c)));