Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung von Beispielen für anonyme Delegaten und Lambda-Ausdrücke in C#

Detaillierte Erläuterung von Beispielen für anonyme Delegaten und Lambda-Ausdrücke in C#

零下一度
零下一度Original
2017-06-23 14:49:162233Durchsuche

1. C# von 1.0 bis 4.0, mit der Unterstützung von Linq und Generics wird der Code immer einfacher und eleganter

 1 int[] nums = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; 2             IEnumerable<int> newNums = from n in nums where n > 0 select n; 3             newNums = newNums.Where(new Func<int,int, bool>(delegate(int i,int index) { return i < index; })); 4             newNums = newNums.Where(new Func<int, int, bool>((int i, int index)=> i < index)); 5             newNums = newNums.Where(delegate(int i, int index) { return i < index; }); 6             newNums = newNums.Where((i, index) => i < index); 7             foreach (var i in newNums) 8             { 9                 Console.WriteLine(i);10             }

2 Es werden Datenbankoperationen für EF verwendet

1. Erstellen Sie zwei Entitätsklassen

 1     public class Store 2     { 3         public string Id; 4         public string Name; 5     } 6     public class Person 7     { 8         public string name { get; set; } 9         public int age { get; set; }10         public string StoreId { get; set; }11     }

2. Fügen Sie Daten ein

 1             var Stores = new List<Store>() 2             { 3                 new Store() { Id="1",Name="1班"}, 4                 new Store() { Id="2",Name="2班"} 5             }; 6  7             var Persons = new List<Person>() 8             { 9                 new Person() { name="p1",age=1, StoreId="1"},10                 new Person() { name="p2",age=2, StoreId="1"},11                 new Person() { name="p3",age=3, StoreId="1"},12                 new Person() { name="p4",age=4, StoreId="2"},13                 new Person() { name="p5",age=5, StoreId="1"},14                 new Person() { name="p6",age=6, StoreId="2"},15                 new Person() { name="p7",age=7, StoreId="1"},16                 new Person() { name="p8",age=8, StoreId="1"}17             };

3. Fragen Sie die Anzahl der Personen in Klasse 1 und Klasse 2 ab, die jünger als 3 Jahre sind

1             var plst = Persons.Where(o => o.age > 3).GroupBy(o => o.StoreId).Select(g => new { StoreId = g.Key, Count = g.Count() }).Join(Stores, s => s.StoreId, p => p.Id, (s, p) => new { s.StoreId, storeName = p.Name, s.Count });2             foreach (var p in plst)3             {4                 Console.WriteLine(p.storeName + "有" + p.Count + "个人");5             }

4 🎜>

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen für anonyme Delegaten und Lambda-Ausdrücke in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn