该程序仅用于说明目的。我想将一个整数作为输入,如果它大于零,则在 ArrayList 中使用该整数创建一个 ArrayList。我尝试了很多(不正确的)方法,最终确定了您在下面看到的内容。但是,我真的不喜欢它的外观。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
class Program
{
static void Main(string[] args)
{
Console.Write("Enter in a number of the size of the ArrayList that you want: ");
int arraySize = int.Parse(Console.ReadLine());
if (arraySize > 0)
{
ArrayList newList = CreateList(arraySize,out newList);
newList.Add(arraySize);
Console.WriteLine("the size of the array is {0}",newList.Count);
Console.ReadLine();
}
else
{
Console.WriteLine("You did not create an ArrayList");
}
Console.WriteLine("here you can't access the array");
Console.ReadLine();
}
public static ArrayList CreateList(int x,out ArrayList outList)
{
ArrayList al = new ArrayList(x);
outList= al;
return outList;
}
}
我的思考过程是,如果用户决定执行某个操作,那么程序将不会创建 ArrayList 来节省资源(考虑到示例的愚蠢示例,我知道)。但是,我仍然必须在 main 方法中初始化一个 ArrayList,如果我取出该行newList.Add(arraySize)
,如果用户输入一个大于 0 的数字,程序将以 0 的输出运行。有没有什么办法可以让任何输入大于 0 会导致 ArrayList 准备好添加元素?因此,如果我们注释掉该行newList.Add(arraySize)
,程序仍会将 ArrayList 的大小打印为 1(前提是该数字大于 0)
在此示例中,元素的数量最多为 1,而不是用户可能输入的数量。