不能工作,在Arraylist中添加字符串时,它等于列表中的相同值不要添加到Arraylist

时间:2015-02-18 10:06:29

标签: c# arraylist add element equals

你好,我正在研究一个程序而且我无法解决这个问题,我只有2周的C#经验。我想我必须使用动态arraylist。我没有大小。当我收到字符串时它会不断增长。对于这个例子,我想制作一个arraylist来保存我收到的数据。(可以是字符串或整数......) 我从以下信息获得了信息:http://www.dotnetperls.com/arraylist

现在我想将该值与列表中保存的值进行比较。但我不知道,到目前为止我得到了......

        //int numbernr;
        string number = text.Remove(3);
        //int.TryParse(number, out numbernr); //(when/if necessary)
        ArrayList List = new ArrayList();
        if (!List.Contains(number))     //Equals
        {
            List.Add(number);    //list.Insert(1, number);
            MessageBox.Show(number + "added");
        }
        else
        {
            MessageBox.Show("already exist");
        }

如果数字不存在。将数字放在列表中并显示它。如果该数字确实存在则说已经存在。我想得到de list的元素。有人有个主意吗?导致它不起作用。

2 个答案:

答案 0 :(得分:0)

在方法之外声明列表...并使用通用列表

private List<int> theList = new List<int>();

在方法内:

string numberString = text.Remove(3); //also are you sure this returns a string?
int number;
if(int.TryParse(numberString, out number))
{
    //ArrayList List = new ArrayList(); you would create a new list over and over so remove this line
    if (!theList.Contains(number))     //Equals
    {
        theList.Add(number);    //list.Insert(1, number);
        MessageBox.Show(string.Format("{0} added",number));
    }
    else
    {
        MessageBox.Show("already exist");
    }
}
else MessageBox.Show("invalid number entered");

答案 1 :(得分:0)

使用List可能很方便。收到INT时,只需将其解析为字符串,然后使用!List.Contains(value)函数添加它。

结果将类似于:

  

列出myList;

     

if(myList == null)myList = new List();

     

string value =“stringValue”; //如果是字符串

     

string value2 = myInteger.ToString(); //如果是整数

     

if(!myList.Contains(value OR value2)myList.Add(value OR value2)//取决于输入的值

希望这对你有用