公共静态列表个别项目

时间:2012-08-21 22:02:53

标签: c# .net-2.0

如何获取公共静态列表的单个值

//get value error
Console.WriteLine(lbl_test.module_a.moduleoutput[0]);


public static List<string> moduleoutput()
{
    List<string> output = new List<string>();
    output.Add("test 1");
    output.Add("test 2");
    output.Add("test 3");
    return output;
}

错误: 无法将带[]的索引应用于“方法组”

类型的表达式

3 个答案:

答案 0 :(得分:3)

您需要先获取列表,然后才能由索引器访问它。因此缺少方法调用(括号)。 moduleoutput是一种方法而非变量。

Console.WriteLine(lbl_test.module_a.moduleoutput()[0]);

在此处搜索方法访问http://msdn.microsoft.com/en-us/library/ms173114.aspx

  

在对象上调用方法就像访问字段一样。之后   对象名称,添加句点,方法名称和括号。   参数列在括号中,并以。分隔   逗号。

答案 1 :(得分:2)

这是一种方法,而不是财产。你必须调用这个方法。

您可能希望它成为一个属性:

public static List<string> moduleoutput 
{
    get 
        { 
            List<string> output = new List<string>();
            output.Add("test 1");
            output.Add("test 2");
            output.Add("test 3");
            return output;
        }
}

答案 2 :(得分:1)

我怀疑你说错了。您将moduleoutput称为变量而不是方法。你忘了括号:

Console.WriteLine(lbl_test.module_a.moduleoutput()[0]);

下面的示例代码完美无缺:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(Moduleoutput()[0]);
        Console.ReadLine();
    }

    public static List<string> Moduleoutput()
    {
        List<string> output = new List<string>();
        output.Add("test 1");
        output.Add("test 2");
        output.Add("test 3");
        return output;
    }
}