
上QQ阅读APP看书,第一时间看更新
Chapter review
For review, 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;
using System.Collections.Generic;
using System.Threading;
//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 partial class _Default : System.Web.UI.Page
{
private void ShowSquare(double x) =>
sampLabel.Text += "<br>" + (x * x);//expression bodied function
protected void Button1_Click(object sender, EventArgs e)
{
//make list of double values
List<double> vals =
new List<double>(new double[] { 1, 2, 4, 5, 6, 8 });
//call ShowSquare on each value inside the list
vals.ForEach(ShowSquare);
sampLabel.Text += "<br>-----------------------------------" ;
//lines 21-24 define an unnamed method, which is applied to each
//value in the list
vals.ForEach(delegate (double x)
{
sampLabel.Text += "<br>" + Math.Pow(x, 3);
});
sampLabel.Text += "<br>-----------------------------------" ;
//lines 28-35 create a thread object, and an unnamed method inside
//it that spawns
//a thread of processing separate from the "main" program
Thread td = new Thread(delegate ()
{
List<double> arrs =
new List<double>(new double[] { 1, 4, 5, 3, 53, 52 });
arrs.Sort();
arrs.ForEach(x => sampLabel.Text += $"<br>{x}");
});
//start the thread
td.Start();
td.Join(); //this is needed to ensure that the thread
//"td" runs, and then joins back to the
//current, main thread, so the program finishes running
}
}