>백엔드 개발 >C++ >C# 목록에서 요소 발생 횟수를 효율적으로 계산하려면 어떻게 해야 합니까?

C# 목록에서 요소 발생 횟수를 효율적으로 계산하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-03 09:45:39259검색

How Can I Efficiently Count Element Occurrences in a C# List?

C#을 사용하여 목록에서 발생 횟수 계산

C#에는 목록에 있는 각 요소의 발생 횟수를 효과적으로 계산하는 데 사용할 수 있는 다양한 방법이 있습니다. . 한 가지 접근 방식은 GroupBy 확장 메서드를 활용하는 것입니다.

using System;
using System.Collections.Generic;
using System.Linq;

List<int> list = new List<int>() { 1, 2, 3, 4, 5, 2, 2, 2, 4, 4, 4, 1 };

// Group the list elements based on their values
var groupedList = list.GroupBy(i => i);

// Iterate over each group and count the occurrences
foreach (var group in groupedList)
{
    Console.WriteLine($"{group.Key}: {group.Count()}");
}

이 예에서 GroupBy 메서드는 Func 요소를 그룹화하는 방법을 지정하는 대리자입니다. 이 경우 요소 자체를 기준으로 그룹화합니다. 결과 groupedList는 IEnumerable>이며, 여기서 각 IGrouping은 고유한 요소와 해당 개수를 나타냅니다. IGrouping의 Key 속성은 요소 값을 나타내며 Count() 메서드는 해당 요소의 발생 횟수를 반환합니다.

또는 Dictionary를 사용할 수도 있습니다.

using System;
using System.Collections.Generic;

List<int> list = new List<int>() { 1, 2, 3, 4, 5, 2, 2, 2, 4, 4, 4, 1 };

// Create a dictionary to store element counts
Dictionary<int, int> counts = new Dictionary<int, int>();

// Populate the dictionary with counts
foreach (var item in list)
{
    if (counts.ContainsKey(item))
    {
        counts[item]++;
    }
    else
    {
        counts[item] = 1;
    }
}

// Iterate over the dictionary to print element counts
foreach (var kvp in counts)
{
    Console.WriteLine($"{kvp.Key}: {kvp.Value}");
}

위 내용은 C# 목록에서 요소 발생 횟수를 효율적으로 계산하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.