| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 262 人关注过本帖
标题:小弟做了个简单的查询,但总是出错 ,那位高手能指点指点~~(详细点谢谢)
收藏  订阅  推荐  打印
waken
Rank: 1
等级:新手上路
帖子:28
积分:388
注册:2008-7-21
小弟做了个简单的查询,但总是出错 ,那位高手能指点指点~~(详细点谢谢)

using System;
using System.IO;
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: 12Rank: 12Rank: 12
等级:版主
帖子:756
积分:8302
威望:26
注册:2006-3-1

string[] dir = Directory.GetDirectories(path);

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

有实力才会有魅力 实力来自坚持不懈的努力
2008-10-10 11:14
shmilylee
Rank: 3Rank: 3
等级:中级会员
帖子:202
积分:2396
威望:2
来自:江苏扬州蹩脚小公司
注册:2007-7-6

dir(pf, ml);这个方法在主函数里面,而主函数是static的,也就是程序刚启动的时候就实例化好了,
这个时候执行这个方法,dir函数还没有实例化,当然不能调用
方法是也把dir函数改成静态的public static string dir(string a, string b)
2008-10-10 11:20
waken
Rank: 1
等级:新手上路
帖子:28
积分:388
注册:2008-7-21
回复 2# 师妃暄 的帖子

谢谢 ~~真是茅厕盾开啊~~
2008-10-10 11:20
waken
Rank: 1
等级:新手上路
帖子:28
积分:388
注册:2008-7-21
回复 3# shmilylee 的帖子

谢谢~~小弟粗心了
2008-10-10 11:21
waken
Rank: 1
等级:新手上路
帖子:28
积分:388
注册:2008-7-21
抓狂~~~~

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: 3Rank: 3
等级:中级会员
帖子:202
积分:2396
威望:2
来自:江苏扬州蹩脚小公司
注册:2007-7-6

public  static string dirr(string a, string b)
这个方法定义了string 返回类型,当然要return啊!

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

[ 本帖最后由 shmilylee 于 2008-10-10 11:33 编辑 ]
2008-10-10 11:32
waken
Rank: 1
等级:新手上路
帖子:28
积分:388
注册:2008-7-21
回复 7# shmilylee 的帖子

我想实现 的是  给出 固定盘符  想要找的文件(ml)
然后运行  找到 所在盘下的 所有ml 文件  
知道该怎么下手~先做了个简单的但总出错~~找人指点指点
2008-10-10 11:37
shmilylee
Rank: 3Rank: 3
等级:中级会员
帖子:202
积分:2396
威望:2
来自:江苏扬州蹩脚小公司
注册:2007-7-6

我写了一个你看看
using System;
using System.Collections.Generic;
using System.IO;

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
积分:388
注册:2008-7-21
回复 9# shmilylee 的帖子

经典~~佩服~谢谢了~~
2008-10-10 12:39
共有 261 人关注过本帖
发新话题
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.056266 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved