C#用数组输出查找的项

注:本篇文章,未在联系作者以及得到许可的情况下, 禁止以任何形式进行转载。

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]);
        }
    }
}

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值