他のヒント

System.Collections.Generic.HashSetを意味する場合、そのクラスはフレームワーク3.5より前には存在しなかったため、やや困難です。

3.5を使用している場合、HashSetはIEnumerableを実装しているため、ToArrayを使用します。

using System.Linq;
...
HashSet<int> hs = ...
int[] entries = hs.ToArray();

独自のHashSetクラスがある場合、言うのは難しいです。

推測

function T[] ToArray<T>(ICollection<T> collection)
{
    T[] result = new T[collection.Count];
    int i = 0;
    foreach(T val in collection)
    {
        result[i++] = val;
    }
}

任意の ICollection&lt; T&gt; 実装。

実際には、 HashSet&lt; T&gt; クラスを使用するには System.Core を参照する必要があるため、使用することもできます。

T[] myArray = System.Linq.Enumerable.ToArray(hashSet);

List&lt; T&gt; コンストラクタを使用すると、さらに簡単に実行できます(リストは最新の配列:)。 例:PowerShellで:

$MyNewArray = [System.Collections.Generic.List[string]]::new($MySet)
scroll top