列表用法不在主() -

时间:2009-12-25 13:41:29

标签: c# class list

该功能运作良好。

如果将动态值添加到其他类,我仍然想在Main()声明list0。怎么样?

谢谢。

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


class Program
{

    public static void Main()
    {
        List<string> list0 = new List<string>();

        list0.Add("A");  // Move to other class.
        list0.Add("B");  // Move to other class.

        string line0 = string.Join("/", list0.ToArray());
        Console.WriteLine(line0);
        Console.ReadLine();
    }
}

======================================

更新。

在你的帮助下。我的问题解决了。还有一个问题如下。

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


public class Program
{

    public static void Main()
    {

        List<string> list0 = new List<string>();

        list0.Add("A");
        list0.Add("B");

        otherClass oAdd = new otherClass();
        oAdd.AddItem(list0);

        string line0 = string.Join("/", list0.ToArray());
        Console.WriteLine(line0);
        Console.ReadLine();
    }
}

public class otherClass
{
    //error CS0117: 'otherClass' does not contain a definition for 'AddItem'
    // If uncommented and switch to this line show the error above. I don't know why?
    //public static void AddItems(IList<string> list0) 
    public void AddItem(IList<string> list0)
    {
        list0.Add("C");
        list0.Add("D");
    } 

}

我发现了另一个问题。感谢。

1 个答案:

答案 0 :(得分:2)

public class OtherClass
{
    public OtherClass(IList<string> list0)
    {
        list0.Add("A");
        list0.Add("B");
    }
}

public class OtherClass
{
    public static void AddItems(IList<string> list0)
    {
        list0.Add("A");
        list0.Add("B");
    }
}

这是因为List是一个引用类型,所以你传递引用,然后将项添加到存在于该引用的堆上的List类。