我想从数组中删除元素。实际上我不知道元素的索引,并希望通过它的值删除。我已经尝试了很多但是失败了。这是我用来在Array
中添加元素的函数 string [] Arr;
int i = 0;
public void AddTOList(string ItemName)
{
Arr[i] = ItemName;
i++;
}
我想通过值删除元素。我知道下面的功能是错误的,但我想解释一下我想要的东西:
public void RemoveFromList(string ItemName)
{
A["Some_String"] = null;
}
由于
答案 0 :(得分:4)
如果您想通过字符串键删除项目,请使用Dictionary
var d = new Dictionary<string, int>();
d.Add("Key1", 3);
int t = d["Key1"];
或类似的东西。
答案 1 :(得分:2)
Array
具有固定大小,不适合您的要求。相反,您可以使用List<string>
。
List<string> myList = new List<string>();
//add an item
myList.Add("hi");
//remove an item by its value
myList.Remove("hi");
答案 2 :(得分:1)
List<string> list = new List<string>(A);
list.Remove(ItemName);
A = list.ToArray();
和@see Array.Resize 和@see Array.IndexOf
答案 3 :(得分:0)
您可以遍历数组中的每个值,如果找到则删除它。像这样的东西
string[] arr = new string[] { "apple", "ball", "cat", "dog", "elephant", "fan", "goat", "hat" };
string itemToRemove = "fan";
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] == itemToRemove)
{
arr[i]=null;
break;
}
}