C# 如何在不引用特定键的情况下查找字典中最长的数组
我有一本字典:C# 如何在不引用特定键的情况下查找字典中最长的数组,c#,dictionary,C#,Dictionary,我有一本字典: public static void Main(string[] args) { Dictionary<string, int[]> ret = new Dictionary<string, int[]>(); int[] a = {1,0,3,4,0}; int[] b = { 3, 0, 9, 10, 0}; int[] c = {2,3,3,5,0}; ret.Add("Jack", a); ret.A
public static void Main(string[] args)
{
Dictionary<string, int[]> ret = new Dictionary<string, int[]>();
int[] a = {1,0,3,4,0};
int[] b = { 3, 0, 9, 10, 0};
int[] c = {2,3,3,5,0};
ret.Add("Jack", a);
ret.Add("Jane", b);
ret.Add("James", c);
int total = ret["Jack"].Length;
Console.WriteLine(total);
}
有没有一种方法可以在不引用特定键的情况下找到最长的长度?您必须遍历字典中的每个键/值对,检查值的长度,并记住最大值 幸运的是,有一个名为
Max
的LINQ扩展将为您提供:
int total = ret.Max(t => t.Value.Length);
您必须遍历字典中的每个键/值对,检查值的长度,并记住最大值 幸运的是,有一个名为
Max
的LINQ扩展将为您提供:
int total = ret.Max(t => t.Value.Length);
inttotal=ret.Max(t=>t.Value.Length)代码>dic.Values.Max(x=>x.Length)
还可以直接调用值inttotal=ret.Max(t=>t.Value.Length)代码>dic.Values.Max(x=>x.Length)
还可以调用值
directlyNote:Max对空序列(或本例中的字典)抛出异常。注意:Max对空序列(或本例中的字典)抛出异常。这是答案吗?还是怎样它有帮助吗?请详细说明。是的,这显然是一个答案!问题是找到最长的长度。在我的回答中,这是“最长的时间”,请花一些时间解释一下这段代码是如何工作的,它是做什么的,这个问题的作者问题的来源是什么。答案不应该只包含代码,这是低质量的答案。这是答案吗?还是怎样它有帮助吗?请详细说明。是的,这显然是一个答案!问题是找到最长的长度。在我的回答中,这是“最长的时间”,请花一些时间解释一下这段代码是如何工作的,它是做什么的,这个问题的作者问题的来源是什么。答案不应该只包含代码,这是低质量的答案。
int longestVal = -1;
if(ret.Any())
{
longestVal = ret.Values.Max(x => x.Length);
}