你好,我正在研究一个程序而且我无法解决这个问题,我只有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的元素。有人有个主意吗?导致它不起作用。
答案 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)//取决于输入的值
希望这对你有用