早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C#中dictionary.single()是什么意思?补充single定义DictionaryusedIconList=newDictionary();SrcMajIconIdtsrcMajIconId=usedIconList.Single(x=>x.Value==iconId).Key;returnallIconSets[srcMajIconId];当中usediconlist

题目详情
C#中dictionary.single()是什么意思?补充single定义
Dictionary usedIconList = new Dictionary();
SrcMajIconId_t srcMajIconId = usedIconList.Single(x => x.Value == iconId).Key;
return allIconSets[srcMajIconId];
当中usediconlist.single是做什么判断的吗?关键是不理解“x => x.Value == iconId”结合single是什么意思~
补充下:
public static TSource Single(this IEnumerable source, Func predicate);
// 摘要:
// 传回序列的唯一一个项目,如果序列中不是正好一个项目,则掷回例外状况. // 参数:
// source:
// 要传回单一项目的 System.Collections.Generic.IEnumerable.
// 型别参数:
// TSource:
// source 之项目的型别.
// 传回:
// 输入序列的单一项目.
// 例外状况:
// System.ArgumentNullException:
// source 为 null.
// System.InvalidOperationException:
// 包含一个以上项目的输入序列. -或- 输入序列是空的.
public static TSource Single(this IEnumerable source);
// 摘要:
// 传回序列中符合指定之条件的唯一一个项目,如果有一个以上这类项目,则掷回例外状况.
// 参数:
// source:
// 要传回单一项目的来源 System.Collections.Generic.IEnumerable.
// predicate:
// 用来测试项目是否符合条件的函式.
// 型别参数:
// TSource:
// source 之项目的型别.
// 传回:
// 输入序列中符合条件的单一项目.
// 例外状况:
// System.ArgumentNullException:
// source 或 predicate 为 null.
// System.InvalidOperationException:
// 没有任何项目符合 predicate 中的条件. -或- 超过一个项目符合 predicate 中的条件. -或- 来源序列为空.
▼优质解答
答案和解析
联系起来看,usedIconList.Single(x => x.Value == iconId)就是返回字典中value为iconid那个唯一项目(当然再加个.key就是返回那个项目的key了),大致相当于
for(int i=0;i