【问题标题】:how to find the number of specific enum members in c#?如何在 C# 中查找特定枚举成员的数量?
【发布时间】:2023-01-13 00:06:11
【问题描述】:

我有一个可以有各种尺寸的物体。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public enum Size
{
    Small = 0,
    Medium,
    Large
}

public class BallSizes : MonoBehaviour
{
    [SerializeField] private Size size;
}

在将一些尺寸分配给各种对象之后。我想查看 SmallMediumLarge 对象等的总数。

Enum.GetName()Enum.GetValue() 似乎只返回对象的名称/值,而不是该类型对象的总数。

【问题讨论】:

  • 您的标题和正文提出了不同的问题。您是要计算每个大小的对象数,还是要查找枚举中的成员数?
  • 那些对象在哪里?它们都在同一个集合中还是您想在哪里搜索它们?
  • @JonasH 你是对的,我的意思是计算特定尺寸的数量。更改了标题。
  • someenumerable.GroupBy(x=>x.Size).Select(x=>new { x.Key, x.Count() })
  • @lovelyladder:如果将上一条评论与新标题进行比较,则相似度不高。

标签: c# unity3d enums


【解决方案1】:

如果你有一堆不同大小的对象,并且想计算每个大小的数量,你可以使用 LINQ

var counts = myObjects.GroupBy(obj => obj.Size).Select(group => (group.Key, group.Count());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多