检查列表中的所有数字是否重复

时间:2011-05-18 18:30:20

标签: c#

我需要验证电话号码以检查它们是1还是2或3等。我如何使用LINK有效地做到这一点。电话号码是一个字符串。 所以如果它的“2323456789”应该返回true,如果它的“3333333333”应该返回false。我在每个地方寻找解决方案。

3 个答案:

答案 0 :(得分:8)

这样的东西?

public bool Check(String number)
{
   return number.Distinct().Count() > 1;
}

答案 1 :(得分:2)

查看有关验证电话号码的文章:

http://blog.stevenlevithan.com/archives/validate-phone-number

引用文件:

区号以2-9开头,后跟0-8,然后是第三位。 第二组三个数字,称为中心局或交换代码,以2-9的数字开头,后跟任意两位数字。 最后四位数字,称为电台代码,没有任何限制。

所以,也许有人可以投入222-222-2222。

答案 2 :(得分:1)

LINQ的?只是为了检查字符串是否包含多次重复的相同字符?

以下正则表达式将匹配仅由重复多次的相同十进制数字组成的字符串。也就是说,它将匹配“11”,“111”和“111”,但不匹配“1”。如果要匹配由重复0次或更多次的相同十进制数字组成的任何字符串,请将1或更多量词字符+字符替换为零或更多量词*。< / p>

private static Regex rxBogusPhoneNumber = new Regex( @"^(?<digit>\d)\k<digit>+$" ) ;
public static bool isBogusPhoneNumber( string phoneNumber )
{
  return rxBogusPhoneNumber.IsMatch( phoneNumber ) ;
}

干杯!