none
Array.FingdAll用法。不能显示所有匹配项,错在哪里? RRS feed

  • 问题

  • 这段程序运行后只能显示一个Tiger。书中的图中显示两个Tiger  Anderson。谢谢你的答复。

    static void Main(string[] args)
    {
    string[] superStars = {"johnson","Tomson","Tiger","Anderson","Tony","Closze" }; //建立数组
    string [] subArray=Array.FindAll(superStars,FindStar);//用Array.FindAll返回所有匹配项
                Console.WriteLine("{0}",subArray);       //输出
    }
    private static bool FindStar(String s)  //查找是否有指定的人:Tiger或Anderson
            {
                if ((s == "Tiger") || (s == "Anderson"))
                {
                    return true;     //如果找到返回true
                }
                else
                {
                    return false;
                }
            }

    2011年2月23日 7:24

答案

  • 您好,‘输出方式有问题。

    string[] superStars = { "johnson", "Tomson", "Tiger", "Anderson", "Tony", "Closze" }; //建立数组
    string[] subArray = Array.FindAll(superStars, FindStar);//用Array.FindAll返回所有匹配项
    foreach (String item in subArray)
    {
           Console.WriteLine("{0}", item); //输出
    }

    2011年2月23日 7:41
    版主