2015-07-20 47 views
4

在C#中,如何從枚舉數組中刪除項目?如何從數組中刪除枚舉項

這裏是枚舉:

public enum example 
{ 
    Example1, 
    Example2, 
    Example3, 
    Example4 
} 

這裏是我的代碼來獲取枚舉:

var data = Enum.GetValues(typeof(example)); 

我怎樣才能把數據變量Example2?我試圖使用LINQ,但我不確定這可以做到。

回答

7

不能從陣列本身刪除它,但你可以創建一個不具備Example2項目的新陣列:

var data = Enum 
    .GetValues(typeof(example)) 
    .Cast<example>() 
    .Where(item => item != example.Example2) 
    .ToArray(); 
4

我曾嘗試使用LINQ,但我不知道這可以做到。

如果你只是想排除例題

var data = Enum 
    .GetValues(typeof(example)) 
    .Cast<example>() 
    .Where(item => item != example.Example2); 

如果你想排除兩個或兩個以上枚舉

var data = Enum.GetValues(typeof(example)) 
    .Cast<example>() 
    .Except(new example[] { example.Example2, example.Example3 });