从C#中的另一个方法访问arraylist

时间:2014-09-12 07:24:25

标签: c# methods arraylist arguments command-line-arguments

您好我是C#的初学者,请使用以下代码帮助我:

基本上我试图将第一个参数作为文件名来打开一个文件并将这些单词存储到一个ArrayList数组中(这个类我已经在另一个类中编写了它并且工作正常),第二个参数将是用于比较长度与arraylist中的字符串,每当字符串长度与输入字符串匹配时,它将存储在新的arraylist wordLength中,并打印到屏幕。

当我在Main方法中编写比较方法时,它工作正常,但我需要访问arrayList wordLength,因此我写了一个单独的方法来获取wordLength数组作为返回。

如果有人能帮助我理解代码不起作用的原因,那将非常感激,请不要理解,因为这只是我学习C#的第二周,有很多知识贯穿我的脑海,我一直对一些细节感到困惑。先谢谢!

static void Main(string[] args)
{          
    ArrayList array = DataFileReader.DataFile(args[0]);
    String characters = args[0];
}

public static ArrayList WordLength(String characters, ArrayList array)
{

    ArrayList wordLength = new ArrayList();
    foreach (string line in array)
    {
        if (line.Length == characters.Length)
        {
            wordLength.Add(line);
            Console.WriteLine(line);
        }
    }
    return wordLength;
}

1 个答案:

答案 0 :(得分:0)

namespace Crossword
{
    class Program
    {
        static void Main(string[] args)
        {

                ArrayList array = DataFileReader.DataFile(args[0]);
                String characters = args[0];
                ArrayList wordLength = WordLength(characters,array); // this will pass the variables to your method
        }
        public static ArrayList WordLength(String characters, ArrayList array)
        {

            ArrayList wordLength = new ArrayList();
            foreach (string line in array)
                if (line.Length == characters.Length){
                    wordLength.Add(line);
                    Console.WriteLine(line);
          }

            return wordLength;
        }
}

P.S:试试谢尔盖别列佐夫斯基所说的“旁注 - 不要使用ArrayList。改用通用列表”