当前位置: 首页 > 编程语言 > C#

从字典中获取第一个元素分享

时间:2023-04-10 21:24:43 C#

从字典中获取第一个元素我有如下声明:Dictionarylike=newDictionary();我需要获取第一个元素,但不知道键或值。最好的方法是什么?注意这里调用First实际上是调用了IEnumerable的Linq扩展,由Dictionary组成。但对于字典来说,“第一”并没有明确的含义。根据这个答案,最后添加的项目最终成为“第一”(换句话说,它的行为就像一个堆栈),但这是特定于实现的,并且不能保证行为。换句话说,假设您将通过调用First获得任何定义的项目将是自找麻烦-使用它应该被视为类似于从字典中获取随机项目,如下面的Bobson所述。然而,有时这很有用,因为您只需要字典中的任何项目。只需使用LinqFirst():varfirst=like.First();字符串键=first.Key;字典val=first.Value;请注意,在字典上使用First将为您提供KeyValuePair,在本例中为KeyValuePair>。另请注意,结合LinqOrderBy,可以得到First的具体含义:varfirst=like.OrderBy(kvp=>kvp.Key).First();vard=新字典();d.Add("a","b");vare=d.GetEnumerator();e.MoveNext();varanElement=e.Current;//anElement/e.Current是一个KeyValuePair//其中Key="a",Value="b"我不确定这是否是特定于实现的,但是如果您的Dictionary没有任何元素,Current将包含KeyValuePair,其中键和值均为空。(我查看了linq的First方法背后的逻辑并通过LinqPad4对其进行了测试)虽然您可以使用First(),但字典本身没有顺序。请改用OrderedDictionary。然后你可以做FirstOrDefault。然后它就会有意义。编辑:使用OrderedDictionary。最好使用FirstOrDefault()来检索第一个值。例如:varfirstElement=like.FirstOrDefault();字符串firstElementKey=firstElement.Key;字典firstElementValue=firstElement.Value;字典不定义项目的顺序。如果只需要一项,使用字典的Keys或Values属性选择一项。以上就是C#学习教程:从字典中获取第一个元素共享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注—Dictionary>like=newDictionary>();字典优先=like.Values.First();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: