在C#中,如何调用返回列表的函数?

C N*_*C N 8 c# methods function list

在C#中,如何调用返回列表的函数?

    static void Main(string[] args)  
    {  
        List<string> range = new List<string>();  
        range.ForEach(item => item.WildcardFiles());  //this is not working             
    }  

    List<string> WildcardFiles(string first)  
    {  
        List<string> listRange = new List<string>();  
        listRange.Add("q");  
        listRange.Add("s");  

        return listRange;  
    }  
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 27

您的代码存在各种问题:

  • 您正在创建一个空列表,然后调用ForEach它.那不会做任何事情.
  • WildcardFiles当它不是字符串的方法时,你试图调用一个字符串.
  • 你试图WildcardFiles在你的声明类型中调用哪个是实例方法,但没有任何类型的实例.
  • 你试图在WildcardFiles不传递参数参数的情况下first调用
  • 你忽略了调用的返回值 WildcardFiles
  • WildcardFiles 忽略它的参数

现在我怀疑你真的想要这样的东西:

static void Main(string[] args)  
{  
    List<string> range = WildcardFiles();
    foreach (string item in range)
    {
        // Do something with item
    }
}  

static List<string> WildcardFiles()
{  
    List<string> listRange = new List<string>();  
    listRange.Add("q");  
    listRange.Add("s");  

    return listRange;  
}  
Run Code Online (Sandbox Code Playgroud)

  • @CN:我怀疑你没注意到我把`WildcardFiles`设为静态然后...... (2认同)