导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

Enumerable.Max<TSource> 方法 (IEnumerable<TSource>, Func<TSource, Nullable<Single>>)

2013/12/13

调用序列的每个元素上的转换函数并返回可空 Single 的最大值。

Namespace:  System.Linq
程序集:  System.Core(位于 System.Core.dll 中)

public static Nullable<float> Max<TSource>(
	this IEnumerable<TSource> source,
	Func<TSource, Nullable<float>> selector
)

类型参数

TSource

source 中的元素的类型。

参数

source
类型: System.Collections.Generic.IEnumerable<TSource>
要确定其最大值的值序列。
selector
类型: System.Func<TSource, Nullable<Single>>
应用于每个元素的转换函数。

返回值

类型: System.Nullable<Single>
C# 中类型为 Nullable<Single> 的值或 Visual Basic 中与序列中最大值对应的 Nullable(Of Single)

用法说明

在 Visual Basic 和 C# 中,您可以对类型为 IEnumerable<TSource> 的任何对象调用此方法作为实例方法。使用实例方法语法来调用此方法时,忽略第一个参数。

异常条件
ArgumentNullException

sourceselectornull

Max<TSource>(IEnumerable<TSource>, Func<TSource, Nullable<Single>>) 方法使用 IComparable<T>Single 实现比较值。

如果提供了函数 selector(用于将 source 中的成员投影为数值类型,即在 C# 中为 Nullable<Single>;在 Visual Basic 中为 Nullable(Of Single)),则可以将此方法应用于任意值序列。

在 Visual Basic 查询表达式语法中,Aggregate Into Max() 子句转换为 Enumerable.Max 的一个调用。

下面的代码示例演示如何使用 Max<TSource>(IEnumerable<TSource>, Func<TSource, Int32>) 确定投影值序列中的最大值。

说明注意:

此代码示例使用此重载方法的重载,该重载与本主题介绍的特定重载不同。若要将该示例扩展到此主题,请更改 selector 函数的函数体。


      class Pet
      {
         public string Name { get; set; }
         public int Age { get; set; }
      }

      public static void MaxEx4()
      {
         Pet[] pets = { new Pet { Name="Barley", Age=8 },
                            new Pet { Name="Boots", Age=4 },
                            new Pet { Name="Whiskers", Age=1 } };

         int max = pets.Max(pet => pet.Age + pet.Name.Length);

         outputBlock.Text += String.Format(
             "The maximum pet age plus name length is {0}.",
             max) + "\n";
      }

      /*
       This code produces the following output:

       The maximum pet age plus name length is 14.
      */



Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示:
© 2014 Microsoft