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

cant work, add string to Arraylist when, it's equal to same value in list dont add to Arraylist

你好,我正在开发一个程序,但我无法解决这个问题,我只有 2 周的 C# 经验。我想我必须使用动态数组列表。我没有尺码。当我收到字符串时,它会不断增长。对于这个例子,我想制作一个数组列表来保存我收到的数据。(可以是字符串或整数......) 我从以下位置获得信息: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 的元素。有人知道吗?导致它不起作用。

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

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");

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

结果将类似于:

List myList;

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

string value = "stringValue"; //if string

string value2 = myInteger.ToString(); //if integer

if(!myList.Contains(value OR value2) myList.Add(value OR value2) //depending on the value entered

希望这对你有用