2009-05-08 35 views
0

私はParameterInfo配列を持っています。配列から特定の値を削除する必要があります。これどうやってするの。?C言語のParameterInfo配列から要素を削除する

私は{可能System.String PARAM2}すなわち、アレイから第2の値を削除する必要がある値を含む がParameterInfo [] PI、

{Int32 param1} 
{System.String param2} 
{System.Collections.Hashtable param3} 

、iはhavae検討します。これどうやってするの。?

答えて

3

アレイからアイテムを削除することはできません。ただし、アイテムなしで新しい配列を作成することはできます。おそらく最も便利な(しかし、必ずしも効率的ではない)方法は、リストを経由して次のようになります。

List<ParameterInfo> list = new List<ParameterInfo>(args); 
list.RemoveAt(1); 
args = list.ToArray(); 
2

配列は固定サイズであるため、あなたが実際に、配列から要素を削除することはできません。ただし、古い要素を省略した新しい配列を作成することができます。

public static T[] RemoveElement<T>(T[] original, int elementToRemove) 
{ 
    T[] ret = new T[original.Length-1]; 
    Array.Copy(original, 0, ret, 0, elementToRemove); 
    Array.Copy(original, elementToRemove+1, ret, elementToRemove, 
       ret.Length - elementToRemove); 
    return ret; 
} 
関連する問題