C# 获取C中除特定值以外的所有数组元素#
是否有一种方法可以获取除用户给定的特定值之外的所有数组元素C# 获取C中除特定值以外的所有数组元素#,c#,unity3d,C#,Unity3d,是否有一种方法可以获取除用户给定的特定值之外的所有数组元素 我在Unity程序中使用C语言。类似的东西可以: // 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");
我在Unity程序中使用C语言。类似的东西可以:
// 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();
你可以这样做
public T[] Except<T>(T[] array, T specificValue) where T : IComparable {
return array.Where<T>(val => val.CompareTo(specificValue) != 0).ToArray();
}
public T[]除了(T[]数组,T specific值),其中T:i可比较{
返回数组。其中(val=>val.CompareTo(specificValue)!=0.ToArray();
}
你试过什么代码???arr.Except(x=>somecondition)。ToArray()
@LeiYang Except需要一个IEnumerable,而不是Func。你从哪里知道它是Func?@Hristo我现在还没有试过任何代码,因为我正在考虑如何做到这一点。我的想法是创建另一个数组来处理其他元素,但这不会有效率。谢谢你的回答。但我使用的是Unity,而这段代码不起作用。什么不起作用?c#在Unity中也是吗?(在我的程序中它确实起作用)@soNice不要忘记使用System.Linq包含代码>使其工作。