Question by
cadellinman · Feb 28, 2016 at 01:17 PM ·
c#arrayarrays
Remove values of one array from another C#
For two int arrays a and b, how would one go about removing the values of b from a? Working in C# here.
Comment
Answer by g__l · Feb 28, 2016 at 02:15 PM
Sadly, arrays in c# are to me quite useless as they lack functions compared to javascript so i would use lists which have many functions and are really useful. Then you could scan through the values of each list using and remove any that equal each other. Below i have wrote some example code to solve your problem
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class CompareLists : MonoBehaviour {
List<int> ListA;
List<int> ListB;
int i;
int i2;
// Use this for initialization
void Start () {
// intialize lists
ListA = new List<int>{10, 9, 5};
ListB = new List<int> {5, 4, 3, 10};
// remove int that match one in list B
while (i < ListA.Count)
{
i2 = 0;
while (i2 < ListB.Count)
{
if (ListA[i] == ListB[i2])
{
ListA.RemoveAt(i);
}
i2 = i2 + 1;
}
i = i + 1;
}
}
}
I hope this works, honestly i have not tested it but at least it will put you in the right direction. Google 'c# list' to see all the other functions available and google 'list unity' to see the unity tutorial which is very helpful and well explained.