获取除C中特定值以外的所有数组元素

问题描述:

有没有办法让所有数组元素除了对于用户给定的特定值?获取除C中特定值以外的所有数组元素

我为我的Unity程序使用C#语言。

+0

你尝试过什么码? – Hristo

+0

'arr.Except(x => somecondition).ToArray()' –

+0

@LeiYang除了需要一个IEnumerable而不是一个Func。 –

像这样将工作:

// remove where not is "1" 
    string[] arr = new[] { "1", "2", "3" }; 
    string[] all = arr.Where(x => (x != "1")).ToArray(); 

    // or remove by index 
    int numIndex = Array.IndexOf(arr, "1"); 
    arr = arr.Where((val, idx) => idx != numIndex).ToArray(); 
+0

谢谢你的回答。但是我正在使用Unity并且此代码不起作用。 – soNice

+1

什么不起作用c#也是c#中的统一体? (在我的程序中它确实工作) –

+3

@soNice不要忘记包含'使用System.Linq;'使其工作。 – Isuka

你可以这样做

public T[] Except<T>(T[] array, T specificValue) where T : IComparable { 
      return array.Where<T>(val => val.CompareTo(specificValue) != 0).ToArray(); 
     }