Queryable.Sum Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Sayısal değerler dizisinin toplamını hesaplar.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| Sum(IQueryable<Single>) |
Bir değer dizisinin toplamını Single hesaplar. |
| Sum(IQueryable<Nullable<Single>>) |
Null değer Single dizisinin toplamını hesaplar. |
| Sum(IQueryable<Nullable<Int64>>) |
Null değer Int64 dizisinin toplamını hesaplar. |
| Sum(IQueryable<Nullable<Int32>>) |
Null değer Int32 dizisinin toplamını hesaplar. |
| Sum(IQueryable<Nullable<Double>>) |
Null değer Double dizisinin toplamını hesaplar. |
| Sum(IQueryable<Nullable<Decimal>>) |
Null değer Decimal dizisinin toplamını hesaplar. |
| Sum(IQueryable<Int64>) |
Bir değer dizisinin toplamını Int64 hesaplar. |
| Sum(IQueryable<Int32>) |
Bir değer dizisinin toplamını Int32 hesaplar. |
| Sum(IQueryable<Double>) |
Bir değer dizisinin toplamını Double hesaplar. |
| Sum(IQueryable<Decimal>) |
Bir değer dizisinin toplamını Decimal hesaplar. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) |
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin Single toplamını hesaplar. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) |
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen null atanabilir Single değerler dizisinin toplamını hesaplar. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) |
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen null atanabilir Int64 değerler dizisinin toplamını hesaplar. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) |
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen null atanabilir Int32 değerler dizisinin toplamını hesaplar. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) |
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen null atanabilir Double değerler dizisinin toplamını hesaplar. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) |
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen null atanabilir Decimal değerler dizisinin toplamını hesaplar. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) |
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin Int64 toplamını hesaplar. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) |
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin Int32 toplamını hesaplar. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) |
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin Double toplamını hesaplar. |
| Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) |
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin Decimal toplamını hesaplar. |
Sum(IQueryable<Single>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Bir değer dizisinin toplamını Single hesaplar.
public:
[System::Runtime::CompilerServices::Extension]
static float Sum(System::Linq::IQueryable<float> ^ source);
public static float Sum(this System.Linq.IQueryable<float> source);
static member Sum : System.Linq.IQueryable<single> -> single
<Extension()>
Public Function Sum (source As IQueryable(Of Single)) As Single
Parametreler
- source
- IQueryable<Single>
Toplamının Single hesaplanması için bir değer dizisi.
Döndürülenler
Dizideki değerlerin toplamı.
Özel durumlar
source, null'e eşittir.
Örnekler
Aşağıdaki kod örneği, bir dizinin değerlerini toplamak için nasıl kullanılacağını Sum(IQueryable<Single>) gösterir.
List<float> numbers = new List<float> { 43.68F, 1.25F, 583.7F, 6.5F };
float sum = numbers.AsQueryable().Sum();
Console.WriteLine("The sum of the numbers is {0}.", sum);
/*
This code produces the following output:
The sum of the numbers is 635.13.
*/
Dim numbers As New List(Of Single)(New Single() {43.68F, 1.25F, 583.7F, 6.5F})
Dim sum As Single = numbers.AsQueryable().Sum()
MsgBox("The sum of the numbers is " & sum)
' This code produces the following output:
' The sum of the numbers is 635.13.
Açıklamalar
yöntemi, Sum(IQueryable<Single>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum(IQueryable<Single>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum(IQueryable<Single>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki sourcedeğerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum(IQueryable<Nullable<Single>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Null değer Single dizisinin toplamını hesaplar.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<float> Sum(System::Linq::IQueryable<Nullable<float>> ^ source);
public static float? Sum(this System.Linq.IQueryable<float?> source);
static member Sum : System.Linq.IQueryable<Nullable<single>> -> Nullable<single>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Single))) As Nullable(Of Single)
Parametreler
- source
- IQueryable<Nullable<Single>>
Toplamını hesaplamak için null atanabilir Single değerler dizisi.
Döndürülenler
Dizideki değerlerin toplamı.
Özel durumlar
source, null'e eşittir.
Örnekler
Aşağıdaki kod örneği, bir dizinin değerlerini toplamak için nasıl kullanılacağını Sum(IQueryable<Nullable<Single>>) gösterir.
float?[] points = { null, 0, 92.83F, null, 100.0F, 37.46F, 81.1F };
float? sum = points.AsQueryable().Sum();
Console.WriteLine("Total points earned: {0}", sum);
/*
This code produces the following output:
Total points earned: 311.39
*/
Dim points As Nullable(Of Single)() = {Nothing, 0, 92.83F, Nothing, 100.0F, 37.46F, 81.1F}
Dim sum As Nullable(Of Single) = points.AsQueryable().Sum()
MsgBox("Total points earned: " & sum)
'This code produces the following output:
'Total points earned: 311.39
Açıklamalar
yöntemi, Sum(IQueryable<Nullable<Single>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum(IQueryable<Nullable<Single>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum(IQueryable<Nullable<Single>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki sourcedeğerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum(IQueryable<Nullable<Int64>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Null değer Int64 dizisinin toplamını hesaplar.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<long> Sum(System::Linq::IQueryable<Nullable<long>> ^ source);
public static long? Sum(this System.Linq.IQueryable<long?> source);
static member Sum : System.Linq.IQueryable<Nullable<int64>> -> Nullable<int64>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Long))) As Nullable(Of Long)
Parametreler
- source
- IQueryable<Nullable<Int64>>
Toplamını hesaplamak için null atanabilir Int64 değerler dizisi.
Döndürülenler
Dizideki değerlerin toplamı.
Özel durumlar
source, null'e eşittir.
Toplam , Int64.MaxValue değerinden büyük.
Açıklamalar
yöntemi, Sum(IQueryable<Nullable<Int64>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum(IQueryable<Nullable<Int64>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum(IQueryable<Nullable<Int64>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki sourcedeğerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum(IQueryable<Nullable<Int32>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Null değer Int32 dizisinin toplamını hesaplar.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<int> Sum(System::Linq::IQueryable<Nullable<int>> ^ source);
public static int? Sum(this System.Linq.IQueryable<int?> source);
static member Sum : System.Linq.IQueryable<Nullable<int>> -> Nullable<int>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Integer))) As Nullable(Of Integer)
Parametreler
- source
- IQueryable<Nullable<Int32>>
Toplamını hesaplamak için null atanabilir Int32 değerler dizisi.
Döndürülenler
Dizideki değerlerin toplamı.
Özel durumlar
source, null'e eşittir.
Toplam , Int32.MaxValue değerinden büyük.
Açıklamalar
yöntemi, Sum(IQueryable<Nullable<Int32>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum(IQueryable<Nullable<Int32>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum(IQueryable<Nullable<Int32>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki sourcedeğerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum(IQueryable<Nullable<Double>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Null değer Double dizisinin toplamını hesaplar.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Sum(System::Linq::IQueryable<Nullable<double>> ^ source);
public static double? Sum(this System.Linq.IQueryable<double?> source);
static member Sum : System.Linq.IQueryable<Nullable<double>> -> Nullable<double>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Double))) As Nullable(Of Double)
Parametreler
- source
- IQueryable<Nullable<Double>>
Toplamını hesaplamak için null atanabilir Double değerler dizisi.
Döndürülenler
Dizideki değerlerin toplamı.
Özel durumlar
source, null'e eşittir.
Açıklamalar
yöntemi, Sum(IQueryable<Nullable<Double>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum(IQueryable<Nullable<Double>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum(IQueryable<Nullable<Double>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki sourcedeğerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum(IQueryable<Nullable<Decimal>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Null değer Decimal dizisinin toplamını hesaplar.
public:
[System::Runtime::CompilerServices::Extension]
static Nullable<System::Decimal> Sum(System::Linq::IQueryable<Nullable<System::Decimal>> ^ source);
public static decimal? Sum(this System.Linq.IQueryable<decimal?> source);
static member Sum : System.Linq.IQueryable<Nullable<decimal>> -> Nullable<decimal>
<Extension()>
Public Function Sum (source As IQueryable(Of Nullable(Of Decimal))) As Nullable(Of Decimal)
Parametreler
- source
- IQueryable<Nullable<Decimal>>
Toplamını hesaplamak için null atanabilir Decimal değerler dizisi.
Döndürülenler
Dizideki değerlerin toplamı.
Özel durumlar
source, null'e eşittir.
Toplam Decimal.MaxValue değerinden büyük.
Açıklamalar
yöntemi, Sum(IQueryable<Nullable<Decimal>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum(IQueryable<Nullable<Decimal>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum(IQueryable<Nullable<Decimal>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki sourcedeğerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum(IQueryable<Int64>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Bir değer dizisinin toplamını Int64 hesaplar.
public:
[System::Runtime::CompilerServices::Extension]
static long Sum(System::Linq::IQueryable<long> ^ source);
public static long Sum(this System.Linq.IQueryable<long> source);
static member Sum : System.Linq.IQueryable<int64> -> int64
<Extension()>
Public Function Sum (source As IQueryable(Of Long)) As Long
Parametreler
- source
- IQueryable<Int64>
Toplamının Int64 hesaplanması için bir değer dizisi.
Döndürülenler
Dizideki değerlerin toplamı.
Özel durumlar
source, null'e eşittir.
Toplam , Int64.MaxValue değerinden büyük.
Açıklamalar
yöntemi, Sum(IQueryable<Int64>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum(IQueryable<Int64>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum(IQueryable<Int64>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki sourcedeğerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum(IQueryable<Int32>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Bir değer dizisinin toplamını Int32 hesaplar.
public:
[System::Runtime::CompilerServices::Extension]
static int Sum(System::Linq::IQueryable<int> ^ source);
public static int Sum(this System.Linq.IQueryable<int> source);
static member Sum : System.Linq.IQueryable<int> -> int
<Extension()>
Public Function Sum (source As IQueryable(Of Integer)) As Integer
Parametreler
- source
- IQueryable<Int32>
Toplamının Int32 hesaplanması için bir değer dizisi.
Döndürülenler
Dizideki değerlerin toplamı.
Özel durumlar
source, null'e eşittir.
Toplam , Int32.MaxValue değerinden büyük.
Açıklamalar
yöntemi, Sum(IQueryable<Int32>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum(IQueryable<Int32>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum(IQueryable<Int32>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki sourcedeğerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum(IQueryable<Double>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Bir değer dizisinin toplamını Double hesaplar.
public:
[System::Runtime::CompilerServices::Extension]
static double Sum(System::Linq::IQueryable<double> ^ source);
public static double Sum(this System.Linq.IQueryable<double> source);
static member Sum : System.Linq.IQueryable<double> -> double
<Extension()>
Public Function Sum (source As IQueryable(Of Double)) As Double
Parametreler
- source
- IQueryable<Double>
Toplamının Double hesaplanması için bir değer dizisi.
Döndürülenler
Dizideki değerlerin toplamı.
Özel durumlar
source, null'e eşittir.
Açıklamalar
yöntemi, Sum(IQueryable<Double>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum(IQueryable<Double>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum(IQueryable<Double>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki sourcedeğerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum(IQueryable<Decimal>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Bir değer dizisinin toplamını Decimal hesaplar.
public:
[System::Runtime::CompilerServices::Extension]
static System::Decimal Sum(System::Linq::IQueryable<System::Decimal> ^ source);
public static decimal Sum(this System.Linq.IQueryable<decimal> source);
static member Sum : System.Linq.IQueryable<decimal> -> decimal
<Extension()>
Public Function Sum (source As IQueryable(Of Decimal)) As Decimal
Parametreler
- source
- IQueryable<Decimal>
Toplamının Decimal hesaplanması için bir değer dizisi.
Döndürülenler
Dizideki değerlerin toplamı.
Özel durumlar
source, null'e eşittir.
Toplam Decimal.MaxValue değerinden büyük.
Açıklamalar
yöntemi, Sum(IQueryable<Decimal>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum(IQueryable<Decimal>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum(IQueryable<Decimal>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki sourcedeğerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin Single toplamını hesaplar.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static float Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, float> ^> ^ selector);
public static float Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,float>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static float Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,float>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, single>> -> single
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, single>> -> single
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Single))) As Single
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IQueryable<TSource>
türünde TSourcebir değer dizisi.
- selector
- Expression<Func<TSource,Single>>
Her öğeye uygulanacak projeksiyon işlevi.
Döndürülenler
Öngörülen değerlerin toplamı.
- Öznitelikler
Özel durumlar
source veya selector şeklindedir null.
Örnekler
Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) gösterir.
Uyarı
Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx3()
{
List<Package> packages =
new List<Package>
{ new Package { Company = "Coho Vineyard", Weight = 25.2 },
new Package { Company = "Lucerne Publishing", Weight = 18.7 },
new Package { Company = "Wingtip Toys", Weight = 6.0 },
new Package { Company = "Adventure Works", Weight = 33.8 } };
// Calculate the sum of all package weights.
double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);
Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}
/*
This code produces the following output:
The total weight of the packages is: 83.7
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Shared Sub SumEx3()
Dim packages As New List(Of Package)(New Package() { _
New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Calculate the sum of all package weights.
Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)
MsgBox("The total weight of the packages is: " & totalWeight)
End Sub
'This code produces the following output:
'The total weight of the packages is: 83.7
Açıklamalar
Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan en az bir tür parametresine Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.
yöntemi, Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, öğesinin her öğesinde çağırması selectorsource ve sonuçta elde edilen değerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen null atanabilir Single değerler dizisinin toplamını hesaplar.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<float> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<float>> ^> ^ selector);
public static float? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,float?>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static float? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,float?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<single>>> -> Nullable<single>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<single>>> -> Nullable<single>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Single)))) As Nullable(Of Single)
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IQueryable<TSource>
türünde TSourcebir değer dizisi.
- selector
- Expression<Func<TSource,Nullable<Single>>>
Her öğeye uygulanacak projeksiyon işlevi.
Döndürülenler
Öngörülen değerlerin toplamı.
- Öznitelikler
Özel durumlar
source veya selector şeklindedir null.
Örnekler
Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) gösterir.
Uyarı
Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx3()
{
List<Package> packages =
new List<Package>
{ new Package { Company = "Coho Vineyard", Weight = 25.2 },
new Package { Company = "Lucerne Publishing", Weight = 18.7 },
new Package { Company = "Wingtip Toys", Weight = 6.0 },
new Package { Company = "Adventure Works", Weight = 33.8 } };
// Calculate the sum of all package weights.
double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);
Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}
/*
This code produces the following output:
The total weight of the packages is: 83.7
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Shared Sub SumEx3()
Dim packages As New List(Of Package)(New Package() { _
New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Calculate the sum of all package weights.
Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)
MsgBox("The total weight of the packages is: " & totalWeight)
End Sub
'This code produces the following output:
'The total weight of the packages is: 83.7
Açıklamalar
Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan en az bir tür parametresine Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.
yöntemi, Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, öğesinin her öğesinde çağırması selectorsource ve sonuçta elde edilen değerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen null atanabilir Int64 değerler dizisinin toplamını hesaplar.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<long> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<long>> ^> ^ selector);
public static long? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,long?>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static long? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,long?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<int64>>> -> Nullable<int64>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<int64>>> -> Nullable<int64>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Long)))) As Nullable(Of Long)
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IQueryable<TSource>
türünde TSourcebir değer dizisi.
- selector
- Expression<Func<TSource,Nullable<Int64>>>
Her öğeye uygulanacak projeksiyon işlevi.
Döndürülenler
Öngörülen değerlerin toplamı.
- Öznitelikler
Özel durumlar
source veya selector şeklindedir null.
Toplam , Int64.MaxValue değerinden büyük.
Örnekler
Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) gösterir.
Uyarı
Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx3()
{
List<Package> packages =
new List<Package>
{ new Package { Company = "Coho Vineyard", Weight = 25.2 },
new Package { Company = "Lucerne Publishing", Weight = 18.7 },
new Package { Company = "Wingtip Toys", Weight = 6.0 },
new Package { Company = "Adventure Works", Weight = 33.8 } };
// Calculate the sum of all package weights.
double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);
Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}
/*
This code produces the following output:
The total weight of the packages is: 83.7
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Shared Sub SumEx3()
Dim packages As New List(Of Package)(New Package() { _
New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Calculate the sum of all package weights.
Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)
MsgBox("The total weight of the packages is: " & totalWeight)
End Sub
'This code produces the following output:
'The total weight of the packages is: 83.7
Açıklamalar
Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan en az bir tür parametresine Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.
yöntemi, Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, öğesinin her öğesinde çağırması selectorsource ve sonuçta elde edilen değerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen null atanabilir Int32 değerler dizisinin toplamını hesaplar.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<int> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<int>> ^> ^ selector);
public static int? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int?>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static int? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<int>>> -> Nullable<int>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<int>>> -> Nullable<int>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Integer)))) As Nullable(Of Integer)
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IQueryable<TSource>
türünde TSourcebir değer dizisi.
- selector
- Expression<Func<TSource,Nullable<Int32>>>
Her öğeye uygulanacak projeksiyon işlevi.
Döndürülenler
Öngörülen değerlerin toplamı.
- Öznitelikler
Özel durumlar
source veya selector şeklindedir null.
Toplam , Int32.MaxValue değerinden büyük.
Örnekler
Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) gösterir.
Uyarı
Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx3()
{
List<Package> packages =
new List<Package>
{ new Package { Company = "Coho Vineyard", Weight = 25.2 },
new Package { Company = "Lucerne Publishing", Weight = 18.7 },
new Package { Company = "Wingtip Toys", Weight = 6.0 },
new Package { Company = "Adventure Works", Weight = 33.8 } };
// Calculate the sum of all package weights.
double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);
Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}
/*
This code produces the following output:
The total weight of the packages is: 83.7
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Shared Sub SumEx3()
Dim packages As New List(Of Package)(New Package() { _
New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Calculate the sum of all package weights.
Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)
MsgBox("The total weight of the packages is: " & totalWeight)
End Sub
'This code produces the following output:
'The total weight of the packages is: 83.7
Açıklamalar
Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan en az bir tür parametresine Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.
yöntemi, Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, öğesinin her öğesinde çağırması selectorsource ve sonuçta elde edilen değerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen null atanabilir Double değerler dizisinin toplamını hesaplar.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<double> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<double>> ^> ^ selector);
public static double? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,double?>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static double? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,double?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<double>>> -> Nullable<double>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<double>>> -> Nullable<double>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Double)))) As Nullable(Of Double)
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IQueryable<TSource>
türünde TSourcebir değer dizisi.
- selector
- Expression<Func<TSource,Nullable<Double>>>
Her öğeye uygulanacak projeksiyon işlevi.
Döndürülenler
Öngörülen değerlerin toplamı.
- Öznitelikler
Özel durumlar
source veya selector şeklindedir null.
Örnekler
Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) gösterir.
Uyarı
Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx3()
{
List<Package> packages =
new List<Package>
{ new Package { Company = "Coho Vineyard", Weight = 25.2 },
new Package { Company = "Lucerne Publishing", Weight = 18.7 },
new Package { Company = "Wingtip Toys", Weight = 6.0 },
new Package { Company = "Adventure Works", Weight = 33.8 } };
// Calculate the sum of all package weights.
double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);
Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}
/*
This code produces the following output:
The total weight of the packages is: 83.7
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Shared Sub SumEx3()
Dim packages As New List(Of Package)(New Package() { _
New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Calculate the sum of all package weights.
Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)
MsgBox("The total weight of the packages is: " & totalWeight)
End Sub
'This code produces the following output:
'The total weight of the packages is: 83.7
Açıklamalar
Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan en az bir tür parametresine Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.
yöntemi, Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, öğesinin her öğesinde çağırması selectorsource ve sonuçta elde edilen değerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen null atanabilir Decimal değerler dizisinin toplamını hesaplar.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static Nullable<System::Decimal> Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, Nullable<System::Decimal>> ^> ^ selector);
public static decimal? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,decimal?>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static decimal? Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,decimal?>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<decimal>>> -> Nullable<decimal>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, Nullable<decimal>>> -> Nullable<decimal>
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Nullable(Of Decimal)))) As Nullable(Of Decimal)
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IQueryable<TSource>
türünde TSourcebir değer dizisi.
- selector
- Expression<Func<TSource,Nullable<Decimal>>>
Her öğeye uygulanacak projeksiyon işlevi.
Döndürülenler
Öngörülen değerlerin toplamı.
- Öznitelikler
Özel durumlar
source veya selector şeklindedir null.
Toplam Decimal.MaxValue değerinden büyük.
Örnekler
Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) gösterir.
Uyarı
Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx3()
{
List<Package> packages =
new List<Package>
{ new Package { Company = "Coho Vineyard", Weight = 25.2 },
new Package { Company = "Lucerne Publishing", Weight = 18.7 },
new Package { Company = "Wingtip Toys", Weight = 6.0 },
new Package { Company = "Adventure Works", Weight = 33.8 } };
// Calculate the sum of all package weights.
double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);
Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}
/*
This code produces the following output:
The total weight of the packages is: 83.7
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Shared Sub SumEx3()
Dim packages As New List(Of Package)(New Package() { _
New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Calculate the sum of all package weights.
Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)
MsgBox("The total weight of the packages is: " & totalWeight)
End Sub
'This code produces the following output:
'The total weight of the packages is: 83.7
Açıklamalar
Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan en az bir tür parametresine Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.
yöntemi, Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, öğesinin her öğesinde çağırması selectorsource ve sonuçta elde edilen değerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin Int64 toplamını hesaplar.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static long Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, long> ^> ^ selector);
public static long Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,long>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static long Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,long>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int64>> -> int64
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int64>> -> int64
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Long))) As Long
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IQueryable<TSource>
türünde TSourcebir değer dizisi.
- selector
- Expression<Func<TSource,Int64>>
Her öğeye uygulanacak projeksiyon işlevi.
Döndürülenler
Öngörülen değerlerin toplamı.
- Öznitelikler
Özel durumlar
source veya selector şeklindedir null.
Toplam , Int64.MaxValue değerinden büyük.
Örnekler
Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) gösterir.
Uyarı
Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx3()
{
List<Package> packages =
new List<Package>
{ new Package { Company = "Coho Vineyard", Weight = 25.2 },
new Package { Company = "Lucerne Publishing", Weight = 18.7 },
new Package { Company = "Wingtip Toys", Weight = 6.0 },
new Package { Company = "Adventure Works", Weight = 33.8 } };
// Calculate the sum of all package weights.
double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);
Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}
/*
This code produces the following output:
The total weight of the packages is: 83.7
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Shared Sub SumEx3()
Dim packages As New List(Of Package)(New Package() { _
New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Calculate the sum of all package weights.
Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)
MsgBox("The total weight of the packages is: " & totalWeight)
End Sub
'This code produces the following output:
'The total weight of the packages is: 83.7
Açıklamalar
Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan en az bir tür parametresine Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.
yöntemi, Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, öğesinin her öğesinde çağırması selectorsource ve sonuçta elde edilen değerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin Int32 toplamını hesaplar.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static int Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, int> ^> ^ selector);
public static int Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static int Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,int>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int>> -> int
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, int>> -> int
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Integer))) As Integer
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IQueryable<TSource>
türünde TSourcebir değer dizisi.
- selector
- Expression<Func<TSource,Int32>>
Her öğeye uygulanacak projeksiyon işlevi.
Döndürülenler
Öngörülen değerlerin toplamı.
- Öznitelikler
Özel durumlar
source veya selector şeklindedir null.
Toplam , Int32.MaxValue değerinden büyük.
Örnekler
Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) gösterir.
Uyarı
Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx3()
{
List<Package> packages =
new List<Package>
{ new Package { Company = "Coho Vineyard", Weight = 25.2 },
new Package { Company = "Lucerne Publishing", Weight = 18.7 },
new Package { Company = "Wingtip Toys", Weight = 6.0 },
new Package { Company = "Adventure Works", Weight = 33.8 } };
// Calculate the sum of all package weights.
double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);
Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}
/*
This code produces the following output:
The total weight of the packages is: 83.7
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Shared Sub SumEx3()
Dim packages As New List(Of Package)(New Package() { _
New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Calculate the sum of all package weights.
Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)
MsgBox("The total weight of the packages is: " & totalWeight)
End Sub
'This code produces the following output:
'The total weight of the packages is: 83.7
Açıklamalar
Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan en az bir tür parametresine Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.
yöntemi, Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, öğesinin her öğesinde çağırması selectorsource ve sonuçta elde edilen değerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin Double toplamını hesaplar.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static double Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, double> ^> ^ selector);
public static double Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,double>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static double Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,double>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, double>> -> double
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, double>> -> double
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Double))) As Double
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IQueryable<TSource>
türünde TSourcebir değer dizisi.
- selector
- Expression<Func<TSource,Double>>
Her öğeye uygulanacak projeksiyon işlevi.
Döndürülenler
Öngörülen değerlerin toplamı.
- Öznitelikler
Özel durumlar
source veya selector şeklindedir null.
Örnekler
Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) gösterir.
Uyarı
Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx3()
{
List<Package> packages =
new List<Package>
{ new Package { Company = "Coho Vineyard", Weight = 25.2 },
new Package { Company = "Lucerne Publishing", Weight = 18.7 },
new Package { Company = "Wingtip Toys", Weight = 6.0 },
new Package { Company = "Adventure Works", Weight = 33.8 } };
// Calculate the sum of all package weights.
double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);
Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}
/*
This code produces the following output:
The total weight of the packages is: 83.7
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Shared Sub SumEx3()
Dim packages As New List(Of Package)(New Package() { _
New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Calculate the sum of all package weights.
Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)
MsgBox("The total weight of the packages is: " & totalWeight)
End Sub
'This code produces the following output:
'The total weight of the packages is: 83.7
Açıklamalar
Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan en az bir tür parametresine Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.
yöntemi, Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, öğesinin her öğesinde çağırması selectorsource ve sonuçta elde edilen değerlerin toplamını döndürmesidir.
Şunlara uygulanır
Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>)
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
- Kaynak:
- Queryable.cs
Giriş dizisinin her öğesinde bir projeksiyon işlevi çağırarak elde edilen değer dizisinin Decimal toplamını hesaplar.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Decimal Sum(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, System::Decimal> ^> ^ selector);
public static decimal Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,decimal>> selector);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static decimal Sum<TSource>(this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,decimal>> selector);
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, decimal>> -> decimal
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Sum : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, decimal>> -> decimal
<Extension()>
Public Function Sum(Of TSource) (source As IQueryable(Of TSource), selector As Expression(Of Func(Of TSource, Decimal))) As Decimal
Tür Parametreleri
- TSource
öğelerinin sourcetürü.
Parametreler
- source
- IQueryable<TSource>
türünde TSourcebir değer dizisi.
- selector
- Expression<Func<TSource,Decimal>>
Her öğeye uygulanacak projeksiyon işlevi.
Döndürülenler
Öngörülen değerlerin toplamı.
- Öznitelikler
Özel durumlar
source veya selector şeklindedir null.
Toplam Decimal.MaxValue değerinden büyük.
Örnekler
Aşağıdaki kod örneği, bir dizinin öngörülen değerlerini toplamak için nasıl kullanılacağını Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>) gösterir.
Uyarı
Bu kod örneği, yöntemin bu makalede açıklanan aşırı yüklemeden farklı bir aşırı yüklemesini kullanır. Örneği bu makalede açıklanan aşırı yüklemeye genişletmek için işlevin gövdesini selector değiştirin.
class Package
{
public string Company { get; set; }
public double Weight { get; set; }
}
public static void SumEx3()
{
List<Package> packages =
new List<Package>
{ new Package { Company = "Coho Vineyard", Weight = 25.2 },
new Package { Company = "Lucerne Publishing", Weight = 18.7 },
new Package { Company = "Wingtip Toys", Weight = 6.0 },
new Package { Company = "Adventure Works", Weight = 33.8 } };
// Calculate the sum of all package weights.
double totalWeight = packages.AsQueryable().Sum(pkg => pkg.Weight);
Console.WriteLine("The total weight of the packages is: {0}", totalWeight);
}
/*
This code produces the following output:
The total weight of the packages is: 83.7
*/
Structure Package
Public Company As String
Public Weight As Double
End Structure
Shared Sub SumEx3()
Dim packages As New List(Of Package)(New Package() { _
New Package With {.Company = "Coho Vineyard", .Weight = 25.2}, _
New Package With {.Company = "Lucerne Publishing", .Weight = 18.7}, _
New Package With {.Company = "Wingtip Toys", .Weight = 6.0}, _
New Package With {.Company = "Adventure Works", .Weight = 33.8}})
' Calculate the sum of all package weights.
Dim totalWeight As Double = packages.AsQueryable().Sum(Function(pkg) pkg.Weight)
MsgBox("The total weight of the packages is: " & totalWeight)
End Sub
'This code produces the following output:
'The total weight of the packages is: 83.7
Açıklamalar
Bu yöntem, tür bağımsız değişkeni türlerden Expression<TDelegate> biri olan en az bir tür parametresine Func<T,TResult> sahiptir. Bu parametreler için bir lambda ifadesi geçirebilirsiniz ve bu ifade bir Expression<TDelegate>olarak derlenir.
yöntemi, Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağıran Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine sourceIQueryProvider iletirMethodCallExpression.Execute<TResult>(Expression)
Çağrıyı Sum<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, öğesinin her öğesinde çağırması selectorsource ve sonuçta elde edilen değerlerin toplamını döndürmesidir.