【问题标题】:Checking which object appears most times in a list c#检查列表中出现次数最多的对象c#
【发布时间】:2019-10-17 20:50:58
【问题描述】:

所以我有一个临时的ListObject 列表用于检查情况

class ListObject
{
    public string Key { get; set; }
    public int Value { get; set; }

    public void Convert(string str)
    {
        Key = str;
    }
}

我正在编写一个方法来检查哪个名称出现在另一个对象列表中的次数最多。 ListObject.Key 获取分配的名称,而 ListObject.Value 存储出现次数。我想检查名称是否已从我保存值的列表中存储,如果是,则增加存储名称的 ListObject 字段上的值。 问题是我不知道如何指出应该增加的字段。我需要像list[*index of the wanted name].Value += 1; 这样的东西我应该如何指向索引?我应该使用 KeyValue 对而不是我的 ListObject 类吗?

【问题讨论】:

    标签: c# arrays .net list


    【解决方案1】:

    看起来你正在尝试重新发明 Dictionary<TKey,TValue>

    var frequencyMap = new Dictionary<string,int>();
    foreach(string item in itemList)
    {
        if (!frequencyMap.ContainsKey(item))
            frequencyMap.Add(item, 0);
    
        frequencyMap[item] += 1;
    }
    

    【讨论】:

      猜你喜欢
      • 2017-06-05
      • 2021-06-11
      • 2020-04-19
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 2018-05-08
      • 1970-01-01
      • 2011-06-05
      相关资源
      最近更新 更多