ホームページ > バックエンド開発 > C++ > C#アレイから複製を効率的に削除するにはどうすればよいですか?

C#アレイから複製を効率的に削除するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-25 11:56:13
オリジナル
568 人が閲覧しました

How Can I Efficiently Remove Duplicates from a C# Array?

C# 配列から重複を効率的に削除する

データ配列の処理では、多くの場合、重複エントリを削除する必要があります。 C# では、これを実現するためのいくつかの方法が提供されています。一般的で効率的なテクニックを見てみましょう。

一時配列メソッド

単純なアプローチには、一時配列が含まれます。

  1. ソース配列を反復処理し、各要素を一時配列内の要素と比較します。
  2. 一時配列に要素が存在する場合、それを無視します。
  3. それ以外の場合は、一時配列に追加します。

例:

<code class="language-csharp">int[] originalArray = { 1, 2, 3, 3, 4 };
int[] tempArray = new int[originalArray.Length];

int index = 0;
for (int i = 0; i < originalArray.Length; i++)
{
    bool isDuplicate = false;
    for (int j = 0; j < index; j++)
    {
        if (originalArray[i] == tempArray[j])
        {
            isDuplicate = true;
            break;
        }
    }
    if (!isDuplicate)
    {
        tempArray[index++] = originalArray[i];
    }
}

// tempArray now contains the unique elements</code>
ログイン後にコピー

この方法はシンプルですが、入れ子になったループのため、配列が大きくなると効率が低下します。

代替ソリューション

一時的な配列方法以外にも、次の代替案を検討してください。

  • LINQ: LINQ の Distinct() メソッドを活用して、簡潔で宣言的なソリューションを実現します。
  • HashSet: 大規模なデータセットで優れたパフォーマンスを実現するために、一意の要素を格納するために最適化されたデータ構造である HashSet を利用します。

最適なアプローチは、アプリケーション固有のニーズと制限によって異なります。

以上がC#アレイから複製を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート