- Beginning C# 7 Hands-On:Advanced Language Features
- Tom Owsiak
- 250字
- 2021-07-02 15:29:24
Chapter review
For review purposes, the complete version of the Default.aspx.cs file for this chapter, including comments, is shown in the following code block:
//using is a directive
//System is a name space
//name space is a collection of features that our needs to run
using System;
//public means accessible anywhere
//partial means this class is split over multiple files
//class is a keyword and think of it as the outermost level of grouping
//:System.Web.UI.Page means our page inherits the features of a Page
public delegate bool Compare(double x, double y);
public delegate double Multiply(double x, double y);
public partial class _Default : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
double x = 10, y = 25; //declare two variables
//the two variables are accessible inside the lambda expressions
Compare comp = (a, b) => (a == b);//define comparison lambda
//invoke the lambda in the line below
sampLabel.Text =
$"{x} and {y} are equal is {comp(x, y).ToString().ToLower()}";
//line define a lambda for multiplication
Multiply mult = (a, b) => (a * b);
//invoke the multiplication lambda
sampLabel.Text += $"<br>{x}*{y} is {mult(x, y)}";
//make array of doubles
double[] dubsArray = new double[] { 1, 2, 3, 4, 5 };
//actions encapsulate functions that do not return a value
//but actions can accept arguments to operate on
Action<double> showDouble =
(a) => sampLabel.Text += "<br>" + (a * a);
//it's now possible to perform the action on each d repeatedly
foreach (var d in dubsArray)
{
showDouble(d);
}
}
}
推薦閱讀
- Extending Jenkins
- C程序設計簡明教程(第二版)
- Apache ZooKeeper Essentials
- 架構不再難(全5冊)
- 快速念咒:MySQL入門指南與進階實戰
- Spring Boot Cookbook
- Lighttpd源碼分析
- RealSenseTM互動開發實戰
- Quantum Computing and Blockchain in Business
- SQL Server 2008 R2數據庫技術及應用(第3版)
- Scratch·愛編程的藝術家
- 軟件測試分析與實踐
- Kotlin程序員面試算法寶典
- Daniel Arbuckle's Mastering Python
- Microsoft Azure Security