如何在main之外的函数中使用列表?

时间:2014-12-04 08:45:30

标签: c# list function

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Lazo
{
    class Program
    {
        List<string> L = new List<string>();
        static void Main(string[] args)
        {
            //List<string> L = new List<string>();
            L.Add("L");
            L.Add("A");
            L.Add("Z");
            L.Add("O");

            izbrisiElement("test");
        }

        static void izbrisiElement(string element_brisi)
        {
            for (int i = 0; i < L.Count - 1; i++)
            {
                if (L[i] == element_brisi)
                {
                    //do something
                }
            }
        }
    }
}

我想在main之外的其他函数中使用main中创建的列表。我在主要和外部主要内部尝试过,但没有一个有用。我不确定我的错误在哪里。谁能帮助我?

2 个答案:

答案 0 :(得分:3)

Main方法是static,这意味着它不属于任何实例,但是您将列表声明为实例字段。所以当您访问它时在方法中,它意味着您尝试访问当前实例的成员,换句话说:this.L,但this上下文中不存在static

您需要将其设为static

static List<string> L = new List<string>();

答案 1 :(得分:1)

您应该将其声明为静态:

static List<string> L = new List<string>();

以便从静态方法中使用。