注:本篇文章,未在联系作者以及得到许可的情况下, 禁止以任何形式进行转载。
By:Anders Mail:katrina520@163.com
Tom@163.com" , "Jane@it.com" , "Jim.lie@163.com
"marry@126.com" , "katrina@sohu.com" , "Helen@msn.com
"Helsjy@hotmail.com" , "wangyi@126.com" , "dhxy@163.com
"Jim@ibm.com" , "Alias@winos.cn" , "matchly@628.com
如上列出的一些eMail地址中,如果要我们运用数组的方法从中查找出我们所需要的地址,(比如我们要查找所有属于网易邮箱的地址如:*@126.com, *@163.com),并按【图1】所显示的那样来输出所查找的正确数据,那该如何去写呢?
【图1】:
其实方法有很多种,我们这里用到的未必是最简单的方法。但是今天这里是用数组套用来实现的,大致思路是用IndexOfAny方法比较要查找的字符是不是包含在eMail数组中,再将正确包含的个数传递给一个变量,随后再将包含有正确字符串的数据元素传递给一个新数组。
最后输出这个新数组(当然这个新数组里包含的元素就是要查找的eMail地址啦!)
using
System;
class LookUp
{
static void Main()
{
string [] eMail = { " Tom@163.com " , " Jane@it.com " , " Jim.lie@163.com " ,
" marry@126.com " , " katrina@sohu.com " , " Helen@msn.com " ,
" Helsjy@hotmail.com " , " wangyi@126.com " , " dhxy@163.com " ,
" Jim@ibm.com " , " Alias@winos.cn " , " matchly@628.com " };
int emNumbers = 0 ;
char [] lookup = { ' 1 ' }; // 要查找的字符类型
for ( int i = 0 ; i < eMail.Length; i ++ ) // 以下标为0循环
{
if (eMail[i].IndexOfAny(lookup) != - 1 ) // eMail数组与lookup数组进行比较,if语句不为-1(假)时执行
{
emNumbers ++ ; // 每当为真的时累加(累加个数为所需查找的字符串个数)
}
}
string [] numMail = new string [emNumbers]; // 将查找正确的个数传递给numMail数组
for ( int i = 0 ,j = 0 ; i < eMail.Length; i ++ )
{
if (eMail[i].IndexOfAny(lookup) != - 1 )
{
numMail[j ++ ] = eMail[i]; // 将查找正确的数组元素传递给numMail数组
}
}
foreach ( string i in eMail)
{
Console.WriteLine( " {0} " ,i);
}
Console.WriteLine( " 共有个{0}电子邮件地址,其中有{1}个电子邮件地址是网易邮箱。 " ,eMail.Length,emNumbers);
for ( int i = 0 ; i < numMail.Length; i ++ )
{
Console.WriteLine( " [{0}]. {1} " ,i + 1 ,numMail[i]);
}
}
}
class LookUp
{
static void Main()
{
string [] eMail = { " Tom@163.com " , " Jane@it.com " , " Jim.lie@163.com " ,
" marry@126.com " , " katrina@sohu.com " , " Helen@msn.com " ,
" Helsjy@hotmail.com " , " wangyi@126.com " , " dhxy@163.com " ,
" Jim@ibm.com " , " Alias@winos.cn " , " matchly@628.com " };
int emNumbers = 0 ;
char [] lookup = { ' 1 ' }; // 要查找的字符类型
for ( int i = 0 ; i < eMail.Length; i ++ ) // 以下标为0循环
{
if (eMail[i].IndexOfAny(lookup) != - 1 ) // eMail数组与lookup数组进行比较,if语句不为-1(假)时执行
{
emNumbers ++ ; // 每当为真的时累加(累加个数为所需查找的字符串个数)
}
}
string [] numMail = new string [emNumbers]; // 将查找正确的个数传递给numMail数组
for ( int i = 0 ,j = 0 ; i < eMail.Length; i ++ )
{
if (eMail[i].IndexOfAny(lookup) != - 1 )
{
numMail[j ++ ] = eMail[i]; // 将查找正确的数组元素传递给numMail数组
}
}
foreach ( string i in eMail)
{
Console.WriteLine( " {0} " ,i);
}
Console.WriteLine( " 共有个{0}电子邮件地址,其中有{1}个电子邮件地址是网易邮箱。 " ,eMail.Length,emNumbers);
for ( int i = 0 ; i < numMail.Length; i ++ )
{
Console.WriteLine( " [{0}]. {1} " ,i + 1 ,numMail[i]);
}
}
}