【问题标题】:How to use a list in functions outside main?如何在 main 之外的函数中使用列表?
【发布时间】:2015-02-02 01:44:25
【问题描述】:
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 中创建的列表。我已经尝试过 main 内部和 main 外部,但没有一个有效。我不确定我的错误在哪里。谁能帮帮我?

【问题讨论】:

  • “没有一个有效。我不确定我的错误在哪里”您应该下次提及问题/错误。

标签: c# list function


【解决方案1】:

你应该把它声明为静态的:

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

以便从您的静态方法中使用。

【讨论】:

    【解决方案2】:

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

    你需要做到static:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-17
      • 1970-01-01
      • 1970-01-01
      • 2021-06-14
      • 1970-01-01
      • 1970-01-01
      • 2013-12-22
      相关资源
      最近更新 更多