2016-09-19 8 views
0

このメソッドはどのようにしてC#の配列に項目を追加できますか?C#で配列に要素を追加するには?

class Set 
{ 
    int [] arr = {1,2,5,4}; 
    int [] arr2 = {3,2,4,8}; 

    public void AddElement() 
    { 
     arr.add(90); 
    } 
} 
+0

Huh?プリミティブデータ型の配列にメソッドを追加することはありません。より具体的にしてください。 – OldProgrammer

+0

私の謝罪!私はメソッドを作成しようとしています:public void AddElement()配列のいずれかに要素を追加します。 – Cb173

+0

あなたがしようとしていることが意味をなさないので、[これをやろうとしている理由](http://meta.stackexchange.com/questions/66377/)を説明してください。 –

答えて

2

アレイは固定サイズです。 配列に要素を追加するには、新しい要素を作成し、値をコピーしてから新しい値を格納する必要があります。

しかし、C#にはListクラス(System.Collections.Genericにあります)などのコレクションがあります。

var list = new List<int>() { 1, 2, 3 }; 
list.Add(100); 

アレイ用のソリューションがあります。

class Set 
{ 
    int[] arr = { 1, 2, 5, 4 }; 
    int[] arr2 = { 3, 2, 4, 8 }; 

    public void AddElement() 
    { 
     var newArray = new int[arr.Length + 1]; 
     Array.Copy(arr, newArray, arr.Length); 
     newArray[newArray.Length - 1] = 90; 
     arr = newArray; 
    } 
} 
+0

これまでに宣言したものを使用することはできません。私は常に新しい配列を作成する必要がありますか? – Cb173

+0

配列の答えを更新しました。しかし、System.Collections.Genericをチェックしてください。 C#には素晴らしいライブラリがあります。 –

+0

で、前の配列に90を加えたものがnewArrayの新しい要素になりますか? – Cb173

関連する問題