标题:小弟做了个简单的查询,但总是出错 ,那位高手能指点指点~~(详细点谢谢)
只看楼主
waken
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-7-21
 问题点数:0 回复次数:12 
小弟做了个简单的查询,但总是出错 ,那位高手能指点指点~~(详细点谢谢)
using System;
using
using System.Collections;

namespace DSclub
{
    class aaa
    {
        public string dir(string a, string b)
        {

            string name = b;
            string path = a;
            string[] dir = Directory.GetDirectories(path);
            foreach (string s in dir)
            {
                if (s == s + "\\" + name)
                {
                    Console.WriteLine(s);
                }
                path = s;
                dir(a, b);    \\递归

            }

        }

        public static void Main(string[] args)
        {
            string pf = @"c:\";
            string ml = "热血传奇";
            dir(pf, ml);
        }
    }

}
错误    1    “dir”是“变量”,但此处被当做“方法”来使用                          22    17    

错误    2    非静态的字段、方法或属性“DSclub.aaa.dir(string, string)”要求对象引用    32    13

那位能指点下~我实在是不知道改那了,头都大了.     ~~~~~
搜索更多相关主题的帖子: 查询 
2008-10-10 11:09
师妃暄
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:805
专家分:107
注 册:2006-3-1
得分:0 
string[] dir = Directory.GetDirectories(path);

dir是个字符串数组.如何能 dir(pf, ml);这样来用?

有实力才会有魅力 实力来自坚持不懈的努力
2008-10-10 11:14
shmilylee
Rank: 2
来 自:江苏扬州蹩脚小公司
等 级:论坛游民
威 望:2
帖 子:242
专家分:22
注 册:2007-7-6
得分:0 
dir(pf, ml);这个方法在主函数里面,而主函数是static的,也就是程序刚启动的时候就实例化好了,
这个时候执行这个方法,dir函数还没有实例化,当然不能调用
方法是也把dir函数改成静态的public static string dir(string a, string b)
2008-10-10 11:20
waken
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-7-21
得分:0 
回复 2# 师妃暄 的帖子
谢谢 ~~真是茅厕盾开啊~~
2008-10-10 11:20
waken
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-7-21
得分:0 
回复 3# shmilylee 的帖子
谢谢~~小弟粗心了
2008-10-10 11:21
waken
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-7-21
得分:0 
抓狂~~~~
public  static string dirr(string a, string b)
        {

            string name = b;
            string path = a;
            string[] dir = Directory.GetDirectories(path);
            foreach (string s in dir)
            {
                if (s == s + "\\" + name)
                {
                    Console.WriteLine(s);
                }
                path = s;
                dirr(a, b);

            }

        }

        public static void Main(string[] args)
        {
            string pf = @"c:\";
            string ml = "热血传奇";
            dirr(pf, ml);
        }
错误    1    “DSclub.aaa.dirr(string, string)”: 并非所有的代码路径都返回值    9    31    
咋还错~~~~~
2008-10-10 11:29
shmilylee
Rank: 2
来 自:江苏扬州蹩脚小公司
等 级:论坛游民
威 望:2
帖 子:242
专家分:22
注 册:2007-7-6
得分:0 
public  static string dirr(string a, string b)
这个方法定义了string 返回类型,当然要return啊!

还有,这个方法中既然都用到遍历了,为什么你还要写递归呢?实在是让人费解.
说说你的思路啊!

[[it] 本帖最后由 shmilylee 于 2008-10-10 11:33 编辑 [/it]]
2008-10-10 11:32
waken
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-7-21
得分:0 
回复 7# shmilylee 的帖子
我想实现 的是  给出 固定盘符  想要找的文件(ml)
然后运行  找到 所在盘下的 所有ml 文件  
知道该怎么下手~先做了个简单的但总出错~~找人指点指点
2008-10-10 11:37
shmilylee
Rank: 2
来 自:江苏扬州蹩脚小公司
等 级:论坛游民
威 望:2
帖 子:242
专家分:22
注 册:2007-7-6
得分:0 
我写了一个你看看
using System;
using System.Collections.Generic;
using

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = @"D:\萧十一郎_黄日华_双语";
            string name = "1";
            string[] names = findFile(path, name);
            foreach (string str in names)
            {
                Console.WriteLine(str);
            }
            Console.Read();
        }

        private static string[] findFile(string path, string name)
        {
            List<string> list = new List<string>();
            DirectoryInfo directory = new DirectoryInfo(path);
            FileInfo[] files = directory.GetFiles();
            foreach (FileInfo filename in files)
            {
                if (filename.Name.Contains(name))
                {
                    list.Add(filename.Name);
                }
            }
            return list.ToArray();
        }
    }
}
2008-10-10 12:08
waken
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-7-21
得分:0 
回复 9# shmilylee 的帖子
经典~~佩服~谢谢了~~
2008-10-10 12:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-237373-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057677 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved