首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C#如何获取字典的第一个元素并移动到另一个元素

C#如何获取字典的第一个元素并移动到另一个元素
EN

Stack Overflow用户
提问于 2018-06-24 05:02:43
回答 1查看 75关注 0票数 -1

我正在制作一个有2个字典排队和播放的程序

我想要从队列中抓取第一个元素,并在播放为空的时候移动到播放,我唯一的代码片段是if(Playing.Count == 0){},有什么方法可以做到吗?

PS:播放和队列都需要一个int和一个player,player是定义的,int是player ID

编辑

代码示例:

代码语言:javascript
复制
public static Dictionary<int, player> queue = new Dictionary<int, player>();
public static Dictionary<int, player> Playing = new Dictionary<int, 
player>();

if (Regex.IsMatch(m.GetString(1).Substring(0, 1), @"\.|\!|\?|\-|\+"))
{
    var cmdprefix = m.GetString(1).Substring(0, 1); //Set the command prefix
    var words = m.GetString(1).ToLower().Split(' '); //Split the spacebar into words.

    if (words[0].StartsWith(cmdprefix + "queue")); //If words starts with the prefix and "queue"
    {
        queue.Add(m.GetInt(0), new player()
        {
            username = m.GetString(1), //Nickname of player
        });
    }

    if(Playing.Count == 0)
    {
    }
}    
EN

回答 1

Stack Overflow用户

发布于 2018-06-24 05:43:49

我相信我已经用下面的代码回答了你的问题。诀窍是一个item is removed from a Dictionary by its key

代码语言:javascript
复制
if(Playing.Count == 0)
{
    Playing.Add(
        m.GetInt(0), 
        new player{ username = m.GetString(1)
    }
    queue.Remove(m.GetInt(0);
}

还要注意@paparazzo和@Eser的评论,即Dictionary是错误的选择。QueueSortedListSortedDictionary应该更好。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51005025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档