0% found this document useful (0 votes)
230 views77 pages

Mastering C#: A Beginner's Guide 1st Edition Sufyan Bin Uzayr - Download The Ebook Now For Instant Access To All Chapters

The document provides information about various eBooks available for download at ebookmeta.com, including titles like 'Mastering C#: A Beginner's Guide' and 'Mastering SQL: A Beginner's Guide' by Sufyan Bin Uzayr. It also outlines the structure and contents of the 'Mastering Computer Science' series, which covers fundamental programming concepts and languages. Additionally, it includes details about the publication and copyright information for the featured books.

Uploaded by

emcosekina
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
230 views77 pages

Mastering C#: A Beginner's Guide 1st Edition Sufyan Bin Uzayr - Download The Ebook Now For Instant Access To All Chapters

The document provides information about various eBooks available for download at ebookmeta.com, including titles like 'Mastering C#: A Beginner's Guide' and 'Mastering SQL: A Beginner's Guide' by Sufyan Bin Uzayr. It also outlines the structure and contents of the 'Mastering Computer Science' series, which covers fundamental programming concepts and languages. Additionally, it includes details about the publication and copyright information for the featured books.

Uploaded by

emcosekina
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 77

Read Anytime Anywhere Easy Ebook Downloads at ebookmeta.

com

Mastering C#: A Beginner's Guide 1st Edition


Sufyan Bin Uzayr

https://ebookmeta.com/product/mastering-c-a-beginners-
guide-1st-edition-sufyan-bin-uzayr/

OR CLICK HERE

DOWLOAD EBOOK

Visit and Get More Ebook Downloads Instantly at https://ebookmeta.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Mastering SQL A Beginner s Guide 1st Edition Sufyan Bin


Uzayr

https://ebookmeta.com/product/mastering-sql-a-beginner-s-guide-1st-
edition-sufyan-bin-uzayr/

ebookmeta.com

Mastering GNOME A Beginner s Guide 1st Edition Sufyan Bin


Uzayr

https://ebookmeta.com/product/mastering-gnome-a-beginner-s-guide-1st-
edition-sufyan-bin-uzayr/

ebookmeta.com

Mastering C#: A Beginner's Guide 1st Edition Sufyan Bin


Uzayr

https://ebookmeta.com/product/mastering-c-a-beginners-guide-1st-
edition-sufyan-bin-uzayr/

ebookmeta.com

European Workshop on Structural Health Monitoring EWSHM


2022 Volume 1 1st Edition Piervincenzo Rizzo

https://ebookmeta.com/product/european-workshop-on-structural-health-
monitoring-ewshm-2022-volume-1-1st-edition-piervincenzo-rizzo/

ebookmeta.com
Gauge Gravity Duality Foundations and Applications
Instructor Solution Manual Solutions 1st Edition Martin
Ammon
https://ebookmeta.com/product/gauge-gravity-duality-foundations-and-
applications-instructor-solution-manual-solutions-1st-edition-martin-
ammon/
ebookmeta.com

Easy Fun Korean Recipes 1st Edition Yun Ji Yu

https://ebookmeta.com/product/easy-fun-korean-recipes-1st-edition-yun-
ji-yu/

ebookmeta.com

Business Ethics A Philosophical Introduction 1st Edition


Wim Dubbink

https://ebookmeta.com/product/business-ethics-a-philosophical-
introduction-1st-edition-wim-dubbink/

ebookmeta.com

Data mining with SPSS Modeler : theory, exercises and


solutions Second Edition Tilo Wendler

https://ebookmeta.com/product/data-mining-with-spss-modeler-theory-
exercises-and-solutions-second-edition-tilo-wendler/

ebookmeta.com

Massachusetts Guide to Evidence 2019th Edition Supreme


Judicial Court Advisory Committee On Massachusetts
Evidence Law
https://ebookmeta.com/product/massachusetts-guide-to-evidence-2019th-
edition-supreme-judicial-court-advisory-committee-on-massachusetts-
evidence-law/
ebookmeta.com
Tunisia 2nd Edition Booksumo Press

https://ebookmeta.com/product/tunisia-2nd-edition-booksumo-press/

ebookmeta.com
Mastering C#
Mastering Computer Science
Series Editor: Sufyan bin Uzayr

Mastering C#: A Beginner’s Guide


Mohamed Musthafa MC, Divya Sachdeva, and Reza Nafim

Mastering GitHub Pages: A Beginner’s Guide


Sumanna Kaul and Shahryar Raz

Mastering Unity: A Beginner’s Guide


Divya Sachdeva and Aruqqa Khateib

Mastering Unreal Engine: A Beginner’s Guide


Divya Sachdeva and Aruqqa Khateib

Mastering Java: A Beginner’s Guide


Divya Sachdeva and Natalya Ustukpayeva

Mastering Python for Web: A Beginner’s Guide


Mathew Rooney and Madina Karybzhanova

For more information about this series, please visit: https://


w w w.routledge.com/Mastering-Computer-Science/
book-series/MCS

The “Mastering Computer Science” series of books are


authored by the Zeba Academy team members, led by
Sufyan bin Uzayr.
Zeba Academy is an EdTech venture that develops
courses and content for learners primarily in STEM
fields, and offers education consulting to Universities and
Institutions worldwide. For more info, please visit https://
zeba.academy
Mastering C#
A Beginner’s Guide
Edited by Sufyan bin Uzayr
First edition published 2022
by CRC Press
6000 Broken Sound Parkway NW, Suite 300, Boca Raton, FL 33487-2742
and by CRC Press
2 Park Square, Milton Park, Abingdon, Oxon, OX14 4RN
CRC Press is an imprint of Taylor & Francis Group, LLC
© 2022 Sufyan bin Uzayr
Reasonable efforts have been made to publish reliable data and information, but the
author and publisher cannot assume responsibility for the validity of all materials or
the consequences of their use. The authors and publishers have attempted to trace
the copyright holders of all material reproduced in this publication and apologize to
copyright holders if permission to publish in this form has not been obtained. If any
copyright material has not been acknowledged please write and let us know so we may
rectify in any future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted,
reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other
means, now known or hereafter invented, including photocopying, microfilming, and
recording, or in any information storage or retrieval system, without written permission
from the publishers.
For permission to photocopy or use material electronically from this work, access www.
copyright.com or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood
Drive, Danvers, MA 01923, 978-750-8400. For works that are not available on CCC
please contact [email protected]
Trademark Notice: Product or corporate names may be trademarks or registered
trademarks and are used only for identification and explanation without intent to
infringe.

ISBN: 9781032103235 (hbk)


ISBN: 9781032103228 (pbk)
ISBN: 9781003214779 (ebk)

DOI: 10.1201/9781003214779

Typeset in Minion
by KnowledgeWorks Global Ltd.
Contents

About the Editor, xvii

Chapter 1   ◾   Mastering C# Programming


Language—A Beginner’s Guide 1
INTRODUCTION TO C# PROGRAMMING
LANGUAGE 3
WHAT IS C# 3
WHY C# MATTERS 5
HISTORY OF C# 6
C# Version 1.0 8
C# Version 1.2 8
C# Version 2.0 9
C# Version 3.0 9
C# Version 4.0 10
C# Version 5.0 11
C# Version 6.0 12
C# Version 7.0 13

v
vi   ◾    Contents

C# Version 7.1 14
C# Version 7.2 14
C# Version 7.3 15
C# Version 8.0 16
C# Version 9.0 17
UNDERSTANDING THE BASIC STRUCTURE
OF THE C# PROGRAM 18
USING KEYWORD 19
NAMESPACE 19
CLASS 20
Access Modifiers 20
METHOD 21
CONSTRUCTOR 22
DATA TYPES 22
CURLY BRACES 23

Chapter 2   ◾   Building Blocks of C# 27


MEMBERS 27
Accessibility 28
Fields 29
Methods 29
Parameters 30
Method Body and Local Variables 30
Static and Instance Methods 31
Method Overloading 31
Other Function Members 33
Contents   ◾    vii

Constructors 33
Events 34
Operators 34
Finalizers 34
Expressions 34
Statements 35
UNDERSTANDING THE CLI 35
Common Type System 35
Common Language Specification 36
Metadata 36
Virtual Execution System 36
THE .NET FRAMEWORKS 37
CLR 37
Framework Class Library (FCL) 37
App Models 37
Why Do Companies Use .NET? 39
.NET Framework for Users 40
Important Points 42
What Languages Do Developers Have Access
to While Working with .NET? 43
ASSEMBLIES IN .NET 44
GAC 45
Assembly Manifest 46
What Are the Benefits of Using
Assemblies? 47
Versioning Problems 47
viii   ◾    Contents

DLL Conflicts 48
The Solution 48
How Does It Work? 49

Chapter 3   ◾   Data Types and Operators 51


VALUE DATA TYPE 52
REFERENCE DATA TYPE 53
Pointer Data Type 54
Operators 54
BASIC DATA TYPES IN C# 55
Integer 55
Double 56
Boolean 57
String 58
VARIABLES 59
Local Variables 59
Instance Variables or Non-Static Variables 61
Static Variables or Class Variables 64
Difference between Instance Variable and
Static Variable 65
Constants Variables 66
Read-Only Variables 68
CONSTANTS 70
Which Types Can Be Used as a Constant? 72
A Constant Alternative: The Read-Only Field 73
REFERENCE TYPE AND VALUE TYPES 75
Contents   ◾    ix

ARRAYS AND OPERATORS 77


OPERATORS 80
Arithmetic Operators 80
Relational Operators 83
Logical Operators 84
Assignment Operators 84

Chapter 4   ◾   Exploring User-Defined Types 89


CLASSES AND OBJECTS 90
System Classes 93
Creating and Using Objects 94
Releasing the Objects 95
Access to Fields of an Object 96
Access to the Memory and Properties of an
Object—Example 96
Calling Methods of Objects 97
Calling Methods of Objects—Example 97
CONSTRUCTORS 98
Constructor with Parameters 98
Calling Constructors—Example 99
When to Use Static Fields and Methods 101
Static Fields and Methods—Example 102
STRUCTURES 103
Structs with Methods 104
Structs and Constructors 105
Nested Structs 106
x   ◾    Contents

ENUMERATION 110
NAMESPACES 118
Nested Namespaces 123

Chapter 5   ◾   Object-Oriented Programming


in C# 127
WHAT IS OOP 129
Basic Principles Concept in
C# Programming 129
Structure of OOP 130
Class 131
Objects 132
Method 133
Encapsulation 135
Abstract Classes 138
Inheritance 140
Polymorphism 142
IMPLEMENTATION OF OOP 146
Encapsulation 146
Inheritance 146
Polymorphism 147
Reusability 147
Compiling the Program 148
Classes and Objects 149
Multiple Class Declaration 150
Partial Classes 151
Contents   ◾    xi

Static Classes 154


Constructor and Destructor 154
Static Constructor 156
Destructors 158
Function Overloading 160
Virtual Methods 162
Hiding Methods 163
Abstract Classes 165
Sealed Classes 166
Interface 167
ENCAPSULATION AND INHERITANCE 169
Advantages of Encapsulation 172
Inheritance 173
Types of Inheritance in C# 173
Advantages of Inheritance in C# 176
Why Use Inheritance and How It Makes It
Easy to Work? 177
CONCLUSION 177

Chapter 6   ◾   Generics in C# 179


WHAT ARE GENERICS 180
Characteristics of Generics 181
Type Safety 182
Performance 183
Binary Code Reuse 184
xii   ◾    Contents

Generic Methods 185


Generic Class and Methods 186
C# Constraint 189
C# Multiple Constraints 191
GENERIC TYPES AND METHODS 193
Generic Types 193
Constraints 196
Type Constraints 198
Reference Type Constraints 201
Value Type Constraints 203
Value Types Down with Unmanaged
Constraints 204
Not Null Constraints 204
Other Special Type Constraints 204
Multiple Constraints 205
Type Inference 206
COVARIANCE AND CONTRAVARIANCE IN
GENERICS 206
Generic Interfaces with Contravariant Type
Parameters 210

Chapter 7   ◾   Functional Programming and


Lambdas in C# 213
FUNCTIONAL PROGRAMMING 214
Benefits of Functional Programming 215
Function Types 218
Contents   ◾    xiii

Function Arithmetic 223


C# Functional Programming 225
Higher-Order Functions 226
Asynchronous Functions 227
Asynchronous Functions with
Callbacks 229
Tuples 230
Closures 233
LAMBDA EXPRESSION 234
Async Lambdas 236
Variable Scope in Lambda Expression 238
Statement Lambda 240
LINQ 242
Advantages of LINQ Include the Following: 243
Namespace 245
Filtering 247
Distinct 248
Aggregation 250
Method Chaining 250
Existence Operations 251
Intersection 253
Union 253
Except 253
Grouping 254
xiv   ◾    Contents

Chapter 8   ◾   Dynamic Programming and


Reflection 257
ADVANTAGES OF DYNAMIC AND STATIC
LANGUAGES 259
Recursion vs. Dynamic Programming 263
Recursion vs. Iteration 263
Approaches of Dynamic Programming 263
Top-Down Approach 263
Advantages 264
Bottom-Up Approach 266
Key Points 266
DYNAMIC PROGRAMMING IN C# 266
How to Use Dynamic 267
Dynamic and Overloading of Methods 272
Conclusion 274
UNDERSTANDING REFLECTION 275
Defining Reflection in C# 275
A Simple Use Case 276
How Reflection in C# Works 278
Uses for Reflection C# 280
USING DYNAMIC TYPE 281
How Does Dynamic Type Work? 281
Short Overview of DLR 283
Call Ste Caching 283
Expression Trees 284
Dynamic Object Interoperability 284
Contents   ◾    xv

Why Should We Use the Dynamic Type 284


Dynamic vs. Reflection 285
Var vs. Object vs. Dynamic 287
Var Keyword 288
Object Keyword 288
Dynamic Keyword 289

APPRAISAL, 291

INDEX, 299
About the Editor

Sufyan bin Uzayr is a writer, coder, and entrepreneur with


more than a decade of experience in the industry. He has
authored several books in the past, pertaining to a diverse
range of topics, ranging from History to Computers/IT.
Sufyan is the Director of Parakozm, a multinational IT
company specializing in EdTech solutions. He also runs
Zeba Academy, an online learning and teaching vertical
with a focus on STEM fields.
Sufyan specializes in a wide variety of technologies,
such as JavaScript, Dart, WordPress, Drupal, Linux, and
Python. He holds multiple degrees, including ones in
Management, IT, Literature, and Political Science.
Sufyan is a digital nomad, dividing his time between
four countries. He has lived and taught in universities and
educational institutions around the globe. Sufyan takes a
keen interest in technology, politics, literature, history and
sports, and in his spare time, he enjoys teaching coding
and English to young students.
Learn more at sufyanism.com.

xvii
Chapter 1

Mastering C#
Programming
Language—
A Beginner’s Guide

IN THIS CHAPTER

➢ What is C#?
➢ Basic Introduction to C#
➢ Evolution of C#

In this fast-moving world of digital transformation, almost


everyone has access to the Internet and smartphones. The
use of the Internet is all about browsing websites and several

DOI: 10.1201/9781003214779-1 1
2   ◾    Mastering C#

kinds of mobile apps. Interestingly, you may not count the


number of apps that you use per day. Whether it’s most
rampantly used microblogging apps like Twitter, stream-
ing services like Netflix, messaging apps like WhatsApp,
the coding stays at the foundation of everything. There
are over 1.7 billion websites on the Internet today, all of
which are powered by some programming language. It
continues to evolve in both industry and research as sys-
tems and applications change. Programming is the pro-
cess that makes it possible to create software, applications,
and websites. It is a kind of artificial language that can be
used to control the behavior of a machine, particularly a
computer or other gadget like a mobile. We already know
that computers or any other similar technologies cannot
think themselves; they require users to give sets of ordered
instructions to know what to do. So programming works
here. It is used to facilitate communication about organiz-
ing and manipulating information and express algorithms
precisely. Its languages are entirely different from most
other forms of human expression in that they require a
greater degree of precision and completeness.
This sort of language is referred to as “code.” Most of
the resources you use on the computer and Internet are
made with code. Learning this sort of coding is simple. All
you need is some idea and the right tool. Coding an app
involves taking a picture, designing the app, testing it, and
releasing it. There is never a better ideal time to develop an
app than today. Surprisingly, you have an enormous mar-
ket for your app once it hits Google Play and App Store. If
you are newer to the mobile app development world but
ardently want to be part of it somehow by yourself, this
Mastering C# Programming Language   ◾    3

book is a detailed guide that will help learners get started


with C# programming. It firstly talks about the basics and
then moves on to practical exercises to help readers quickly
gain the required knowledge.

INTRODUCTION TO C# PROGRAMMING
LANGUAGE
C# is a general-purpose, advanced and Object-Oriented
Programming Language pronounced as “C sharp” cre-
ated by Microsoft that runs on the .NET Framework. C#
has roots in the C family, and the language is close to
other popular languages like C++ and Java. The first ver-
sion was released in the year 2002. The latest version, C#
8, was released in September 2019. C# is recognized as a
standard by ECMA and ISO. C# is specifically designed
for Common Language Infrastructure (CLI). It’s a stan-
dard for describing executable code and the environment
in which it runs. C# was initially known as C-like Object-
Oriented Language (COOL) but altered the name to pre-
vent trademark concerns. Since the C# is formed within
the .Net Framework initiative by Microsoft, it provides
various integrated development environments (IDEs) to
run C# programs smoothly.
While C# can be put to better use in the hands of all
sorts of programmers, a large part of the language’s user
base comprises those who are partial to the Microsoft
platform.

WHAT IS C#
C# (pronounced “C-sharp”) is an object-based program-
ming language from Microsoft that significantly focuses
4   ◾    Mastering C#

on combining the computing power of C++ with the


programming ease of Visual Basic. C# is based on C++
and includes features similar to those of Java. It’s a blend
between C and C++. C# is commonly used for backend
services, windows applications, website development, and
game development.
C# is arranged to work with Microsoft’s .NET platform.
Microsoft’s main aim is to facilitate exchanging informa-
tion and services over the web and let developers build
highly portable applications. C# smoothen programming
by using Extensible Markup Language (XML) and Simple
Object Access Protocol (SOAP), which allowed access to
a programming object or method without requiring the
programmer to write additional code for each step. That
is something quite interesting. Do you know one thing?
Programmers here can build on existing code rather than
repeatedly duplicating it. C# is expected to make it faster
and less expensive to market new products and services.
C# programs run on .NET and a virtual execution system
called the common language runtime (CLR) and included
many class libraries. The CLR is the implementation of the
CLI by Microsoft, an international standard. The CLI is
the ground for creating execution and development envi-
ronments in which languages and libraries work together
continuously.
Source code written in C# is compiled into an inter-
mediate language (IL) that matches the CLI specification.
The IL code and its resources, like bitmaps and strings, are
saved in an assembly, which usually ends in.dll. A pack
includes a manifest that provides information about the
assembly’s types, genre, and culture.
Mastering C# Programming Language   ◾    5

When the C# program is carried out, the assembly is


filled into the CLR. The CLR performs Just-In-Time (JIT)
compilation to change the IL code to native machine
instructions. The CLR gives other services related to
automatic garbage collection, exception handling, and
resource management. Code carried out by the CLR is
sometimes referred to as “managed code,” in comparison
with “unmanaged code,” which is composed into native
machine language that selects a specific platform.
Language interoperability is a crucial feature .NET.
IL code produced by the C# compiler conforms to the
Common Type Specification (CTS). IL code generated
from C# can simply interact with code generated from the
.NET versions of F#, Visual Basic, C++, or any of more than
20 other CTS-compliant languages. A single assembly may
include different modules written in different .NET lan-
guages, and the types can reference each other as if they
were written in the same, unique language.
Besides the runtime services, .NET also includes com-
prehensive libraries. These libraries support many differ-
ent kinds of workloads. They’re organized into namespaces
that give a wide variety of proper functionality for every-
thing from file input and output to string manipulation to
XML parsing, web application frameworks, and Windows
Forms controls. The typical C# application utilizes the
.NET class library considerably to handle every day
“plumbing” chores.

WHY C# MATTERS
As a beginner, it’s pretty simple to learn C#; to know C#,
you should have at least a basic idea of writing code, even if
6   ◾    Mastering C#

you have yet to build your first application or program. The


learning curve for C# is comparatively low when compared
to more complex languages.
C# is an excellent choice for developers with moderate
to advanced experience with writing code. While experts
admit the language is one of the reasonable complexities,
they agree that it’s relatively simple to grasp and outper-
form. Once you’re introduced to C# and put in the time to
get the hang of it, you can expect to advance quickly from
an amateur to an expert.
This is since C# is a first-class language, which means
it’s relatably easy to grasp and write, making it a splendid
choice for beginners and a convenient option for experts.
In addition to readability, C# can also automate complex
tasks that require a lot of time to achieve minor results.
This programming language is also statistically typed,
which means that errors are identified before the applica-
tion goes live. This makes it simple to detect minor flaws in
your stack that would otherwise be almost.

HISTORY OF C#
In 2000, Microsoft announced its initial version of C#
as a part of the .NET Framework. VB.NET was also an
alternative, but VB.NET stuck to the standard Microsoft
Visual Basic syntax, while C# was close to Java, a C-style
language. The name was given to C# firstly was “Cool.”
Microsoft was conscious of working with a language very
approximately to C++, so they wanted to specify that
its new language was one step higher than C++. C# is a
newly discovered language on the market developed by
Microsoft. Initially, Microsoft advanced and deployed the
Mastering C# Programming Language   ◾    7

Active Server Pages (ASP) language. This language is now


labeled Classic ASP, and its support has been discontinued.
ASP lets programmers generate VB-like scripts to enlarge
dynamic web pages. These sort of web pages continued on
aged Internet information Services (IIS) servers running
Windows. Some Linux providers also supported Classic
ASP, but it was routinely a nonstandard way to create web
pages. In the late 1990s, Microsoft decided to make a lan-
guage that fought a tight-spirited fight with Java. During
this course of time, Java was the most common language,
and its popularity was rising. Classic ASP had its place,
but the software required to create the product was a paid
application. Java was used to develop web applications, and
it was favored among developers who understood C and
C++. Instead of label the new language C+++, they decided
to use the name C# (pronounced C sharp), which attributes
the musical notation that a note should be higher in pitch.
The C# team is continuing to innovate and add new spe-
cific features.
This chapter provides a history of a significant release
of the C# language as they are meticulously focusing on
remarkable innovation and adding spectacular features to
this.

• C# version 1.0.

• C# version 1.2.

• C# version 2.0.

• C# version 3.0.

• C# version 4.0.
8   ◾    Mastering C#

• C# version 5.0.
• C# version 6.0.
• C# version 7.0.
• C# version 7.1.
• C# version 7.2.
• C# version 7.3.
• C# version 8.0.
• C# version 9.0.

C# Version 1.0
Microsoft released the first version of C# with Visual Studio
2002. Use of managed code was introduced with this ver-
sion. C# 1.0 was the first language that developers adopted
to build .NET applications.
The significant features of C# 1.0 include:

• Classes.
• Structs.
• Interfaces.
• Events.
• Properties.
• Delegates.

C# Version 1.2
This version was introduced with Visual Studio .NET
2003. It mainly includes a few minor enhancements to the
Mastering C# Programming Language   ◾    9

language. The most significant is that the code generated


a for each loop called Dispose on an IEnumerator when
IEnumerator implemented IDisposable.

C# Version 2.0
With Visual Studio 2005 (formerly codenamed Whidbey),
C# is back with some innovations. The C# language has
successfully been updated to version 2.0 and comes with
several language extensions. Besides generic types, the
C# language introduces other exciting features such as
Iterators, Partial Classes, Anonymous methods, partial
types, and Nullable value types.
Other C# 2.0 features essentially added capabilities to
existing features:

• Getter/setter separate accessibility.


• Method group conversions (delegates).
• Static classes.
• Delegate inference.

While C# may have started as a generic OOL, C# version


2.0 changed that hastily. Once they had complete control
over them, they went after some complicated developer
pain points. And they even went after them in a significant
way.

C# Version 3.0
C# version 3.0 was released as part of .Net version 3.5.
Many of the features added explicitly with this version sup-
ported Language Integrated Queries (LINQ).
10   ◾    Mastering C#

List of added features:

• LINQ.
• Lambda expressions.
• Extension methods.
• Anonymous types.
• Implicitly typed variables.
• Object and collection initializers.
• Automatically implemented properties.
• Expression trees.

In retrospect, many of these features above seem both inev-


itable and inseparable. They all fit together strategically. It’s
generally thought that the C# version’s killer feature was
the query expression, also popularly known as Language-
Integrated Query (LINQ).
A more nuanced view examines expression trees, lambda
expressions, and anonymous types as the foundation of
LINQ. But, in either case, C# 3.0 introduced a breathtaking
concept. C# 3.0 had begun to lay the groundwork for turning
C# into a hybrid OOL/Functional language. Importantly,
you could now write SQL-style declarative queries to per-
form operations on collections, among other things.

C# Version 4.0
Microsoft introduced this version of the C# in April 2010
with Visual Studio 2010. Mono C# compiler fully sup-
ported the new version by October 2010 with the release of
Mastering C# Programming Language   ◾    11

Mono 2.8. The next version did introduce some interesting


new features:

• Dynamic binding
• Named/optional arguments
• Generic covariant and contravariant
• Embedded interop types

The new version of the C# language brought a new type


of dynamic. Once a variable is declared as having type
dynamic, operations on these values are not done or veri-
fied at compile-time but instead happen entirely at run-
time. This is also known as duck typing.
Embedded interop types eased the deployment pain
of creating COM interop assemblies for your applica-
tion. Generic and contravariance provide you with more
power to use generics, but they’re a bit academic and prob-
ably most appreciated by framework and library authors.
Named and optional parameters let you eliminate many
method overloads and provide convenience. But none of
those features are precisely paradigm-altering.

C# Version 5.0
C# version 5.0, released with Visual Studio 2012, was a
focused version of the language. Almost all of the effort for
that version went into another disruptive language concept:
the async and await model for asynchronous programming.
Here’s the list of the significant features:

• Asynchronous methods.
• Caller info attributes.
12   ◾    Mastering C#

The Async feature establishes two keywords, async and


await, which allows you to write asynchronous code more
quickly and intuitively like synchronous code. Before C#
5.0, for writing an asynchronous code, you have to define
callbacks (also known as continuations) to capture what
happens after an asynchronous process completes. This
makes your code and another routine task such as excep-
tion handling complicated. Caller information can help
you out in tracing, debugging, and creating diagnosis
tools. It will help you avoid duplicate codes that are gener-
ally invoked in many methods for the same purpose, such
as logging and tracing.

C# Version 6.0
With versions 3.0 and 5.0, C# had added significant and
outstanding new features in an OOL. With unique version
6.0, released with Visual Studio 2015, it would wane from
doing a dominant killer feature and, in lieu, release many
more minor features that made C# programming more
productive. The C# 6.0 version contains many essential ele-
ments which will improve the productivity of developers.
Here are some of them:

• Using static.
• Exception filters.
• Auto-property initializers.
• Expression bodied members.
• Null propagator.
• String interpolation.
Mastering C# Programming Language   ◾    13

• Name of operator.
• Index initializers.
• Await in catch/finally blocks.
• Default values for getter-only properties.

Each of these features is quite interesting in its own right.


But if you gaze at them all together, you see an inter-
esting pattern. In this version, C# eliminated language
boilerplate to make code more terse and readable. So for
fans of clean, simple code, this language version was a
huge win.

C# Version 7.0
With Visual Studio 2017 (March 7, 2017), we got a new ver-
sion of C#—C# 7.0. There is a lot of new exciting features
that nicely build on top of existing ones.
Here is an overview of new features in C#:

• Out variables.
• Pattern matching.
• Tuples.
• Deconstruction.
• Discards.
• Local functions.
• Binary literals.
• Digit separators.
14   ◾    Mastering C#

All of these features provide extraordinary new capabilities


for developers and the opportunity to write even cleaner
code than ever. A highlight is condensing the declaration
of variables to use with the out keyword and allowing mul-
tiple return values via tuple.
But C# is being put to ever broader use. .NET Core now
targets any operating system and has its eyes firmly on
the cloud and portability. These new capabilities indeed
occupy the language designers’ thoughts and time and
come up with new features.

C# Version 7.1
C# 7.1 was released in August 2017 as part of the 15.3
updates for Visual Studio 2017. The most notable new fea-
ture in C# 7.1 is the ability to have an async Main method.
With C# 7.0, we started seeing point releases on C#, start-
ing with version 7.1. This marked an increased release
cadence for C#. New language features for this release were:

• Async Main method,


• Default literal expressions,
• Inferred tuple element names, and
• Pattern matching on generic type parameters.

C# 7.1 also added the language version selection configura-


tion element, as well as new compiler behavior.

C# Version 7.2
C# 7.2 added a few more minor language features to C#.
These were:
Mastering C# Programming Language   ◾    15

• The addition of code enhancements allowing devel-


opers to write safe, efficient code,
• The in modifier on parameters,
• The ref read-only modifier on method returns,
• The read-only struct declaration,
• The ref struct declaration,
• Non-trailing named arguments,
• Leading underscores in numeric literals,
• Private protected access modifier, and
• Conditional ref expressions.

C# Version 7.3
The point releases of C# 7 allowed developers to get their
hands on new language features sooner rather than later. It
was the release of C# 7.3 that had two main themes. One
theme allowed safe code to perform unsafe code, and the
other provided additional improvements to existing features.
From a better performant, safe code perspective, we saw:

• The accessing of fields without pinning;

• Reassigning ref local variables;

• On stackalloc arrays, initializers are used;

• Fix statements can be used with any type that sup-


ports a pattern; and

• Additional generic constraints.


16   ◾    Mastering C#

C# Version 8.0
C# 8.0 is the first major C# release that explicitly targets
.NET Core. Some features rely on new CLR capabilities,
others on library types added only in .NET Core. C# 8.0
added up the following specifications and enhancements
to the C# language:

• Default interface methods.


• Nullable reference types.
• Pattern matching enhancements.
• Asynchronous streams/Asynchronous disposable.
• Using declarations.
• Enhancement of interpolated verbatim strings.
• Null-coalescing assignment.
• Static local functions.
• Indices and ranges.
• Unmanaged constructed types.
• Read-only member.

Nullable reference types are perhaps the most significant


feature in C# 8.0. It introduces a configurable change
whereby reference types are non-nullable by default but
can explicitly allow null with a nullable modifier. Of
course, the new feature list doesn’t stop there. Other more
prominent features include support for data and pattern
matching improvements. The latter provides a terse syntax
Mastering C# Programming Language   ◾    17

instead of switch expressions (yes, expressions) that enable


conditional checks to evaluate the shape and data within
an object to determine a result. In addition, there are sev-
eral miscellaneous enhancements such as default interface
implementations, using declarations, static local func-
tions, indices/ranges, and a null-coalescing assignment
operator.

C# Version 9.0
C# 9.0 was released with .NET 5. It’s the default language
version for any assembly that targets the .NET 5 release.
Many C# 9.0 features rely on new features in the .NET 5.0
libraries and updates to the .NET CLR that’s part of .NET
5.0. Therefore, C# 9.0 is supported only on .NET 5.0. C#
9.0 focuses on features that help native cloud applications,
modern software engineering practices, and more concise
readable code.
C# 9.0 adds the following features and enhancements to
the C# language:

• Top-level statements.
• Record types.
• Init-only setters.
• Enhancements to pattern matching.
• Natural-sized integers.
• Function pointers.
• Omit localsinit.
• Target type new.
18   ◾    Mastering C#

• Target type conditional.


• Static anonymous methods.

• Covariant return types.

• Lambda discard parameters.

• Attributes on local functions.

C# 9.0 continues three themes from previous releases:


removing ceremony, separating data from algorithms, and
providing more patterns in more places. The introduction
of the record offers a concise syntax for reference types that
follow value semantics for equality. You’ll use these types
to define data containers that typically define minimal
behavior. Init-only setters provide the capability for the
nondestructive mutation (with expressions) in records. C#
9.0 also adds covariant return types so that derived forms
can override virtual methods and return a style derived
from the base method’s return type.

UNDERSTANDING THE BASIC


STRUCTURE OF THE C# PROGRAM
A typical C# program includes several different parts as
shown below:

• Namespace.

• Class.

• The main method.

• Methods inside the class.


Mastering C# Programming Language   ◾    19

• Class definition or class attributes.


• Statements.
• Comments.

Few things need to be kept in your mind while writing a


C# program. C# programs are case-sensitive, which does
mean “string” is different from “String.” All the statements
you write in the program should be concluded with a semi-
colon, i.e., “;” a semicolon tells the program explicitly that
the current line of the statement has ended.

USING KEYWORD
The using keyword is importantly used to handle any
object used to carry out the namespace. It is mainly used
to bring in a namespace. Because a namespace is a collec-
tion of classes, each of which has its functionality, we can
use the keyword to implement various features from the
namespace that has been imported.

NAMESPACE
A namespace is a logical grouping of similar classes and
objects. Its purpose is to keep a diverse group of items apart
from one another. This allows programmers to define
one class in one namespace and another in a different
namespace without generating any problems.
Let’s pretend we’re creating two namespaces: “fruits” and
“colors.” Both of these namespaces can have an “Orange”
class without interfering with any other. A namespace is
created by entering the name of the namespace followed by
the term namespace.
Namespace ConsoleApplication, for example.
20   ◾    Mastering C#

CLASS
Defining a class is analogous to defining a data type’s blue-
print. The data is not described by style; instead, it is orga-
nized as a significant entity.
For instance, if we have a class called “Fruit,” we may
create many related objects within it, such as mango, apple,
grapes, and so on. Thus, the class fruit will contain differ-
ent objects with other properties such as color, smell, taste
edible, etc. Each of these items and property will be a part
of the class.
Similar to the example mentioned above, the Object-
Oriented Programming Language such as C# also defines
different properties inside, i.e., fields, methods, conditions,
events, etc. The objects inside the class include a definition
of the operations that can be performed. Objects are an
instance of the class and the methods or the variables that
are the class members. In summary, the course enables you
to create unique objects by combining different techniques,
events, and object kinds.
A class is defined by preceding the course name with
the keyword “class.” A pair of curly braces determine the
class body.

class program1
{
//body
of the class
}

Access Modifiers
It defines the accessibility of an object, and it is very com-
ponents. All C# components have an access level that may
Mastering C# Programming Language   ◾    21

be controlled using access modifiers to restrict access to


member objects inside the class.
To define the accessibility level of the object, we have
got to declare it by using one of the keywords provided by
C# language, i.e., Public, Private, Protected, and Internal.
Access modifier is expressed by using either of the key-
words mentioned above before the class or a method.
Example:

public class program//Set the access


modifier
to public.
{
}

METHOD
It is a collection of statements that work together to com-
plete a job. At least one class with one Main method will be
present in every C# application.
It includes the following definition. It starts with an
access modifier declaration, then a return type, and later,
we define the method name, and inside the round bracket,
we have the parameters specified.

{Access Modifiers} {return type definition}


Method Name({parameter})
public static void Main(String[] args){
}

After the method has been defined, commands or state-


ments can be written within the curly braces. Arguments
can be passed within the round bracket just after the
method name.
Other documents randomly have
different content
The Project Gutenberg eBook of Tor, a Street
Boy of Jerusalem
This ebook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this ebook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.

Title: Tor, a Street Boy of Jerusalem

Author: Florence Morse Kingsley

Illustrator: F. A. Eckman

Release date: April 9, 2017 [eBook #54523]

Language: English

*** START OF THE PROJECT GUTENBERG EBOOK TOR, A STREET


BOY OF JERUSALEM ***
THIS IS THE
AUTOGRAPHED EDITION
LIMITED TO TWO HUNDRED AND FIFTY COPIES.

NUMBER 58

Florence Morse Kingsley


Frontispiece.
“TOR FLATTENED HIMSELF AGAINST A CONVENIENT WALL.”
See p. 31.
Tor,
A Street Boy of Jerusalem

By
Florence Morse Kingsley
Author of “Stephen,” “Paul,” “Kindly Light,” etc.

WITH ILLUSTRATIONS BY
F. A. ECKMAN

Philadelphia
Henry Altemus Company

Copyright, 1904, by Henry Altemus


BY THE SAME AUTHOR

Paul, a Herald of the Cross

Stephen, a Soldier of the Cross

The Cross Triumphant

Wings and Fetters


A Story for Girls

One Dollar Each

An Unrecorded Miracle

Under the Stars

Kindly Light

Fifty Cents Each

[pg vii]

CONTENTS
CHAPTER I. PAGE
A Stranger Comes to Town, 13
CHAPTER II.
A Sparrow Falleth, 24
CHAPTER III.
The Man Who Opened His Eyes, 35
CHAPTER IV.
“The King, My Master!” 53
CHAPTER V.
Deep Calleth Unto Deep, 64
CHAPTER VI.
Rejected by Men, 83
CHAPTER VII.
Felicia, 99
CHAPTER VIII.
Chelluh Drives a Bargain, 115
CHAPTER IX.
Before the Cock Crew, 130
CHAPTER X.
In the Palace Garden, 146
CHAPTER XI.
Love Triumphant, 160
CHAPTER XII.
By Gennesaret Water, 175

[pg ix]
ILLUSTRATIONS

“Tor flattened himself against a convenient


Frontispiece
wall”
“ ‘I have said it. I will take thee to the King’ ” Facing p. 48
Facing
“ ‘Take him away!’ she commanded”
p. 112
“His wicked face disfigured with rage and Facing
pain” p. 168

[pg 13]
TOR, A STREET BOY OF JERUSALEM
CHAPTER I
A STRANGER COMES TO TOWN

Tor was hungry. Hunger was a common experience in Tor’s short life;
he merely tightened the dingy rags about his middle and continued
to stare at the group of sparrows quarreling noisily in the red dust of
the street. It had occurred to Tor that the life of a sparrow must be
vastly pleasanter than that of a boy. “They find plenty to eat,” he
told himself enviously, as he hugged his lean little body. With a
sudden impulse the child flung a pebble into [pg 14]the midst of the
belligerents. The birds shook the dust from their ruffled feathers
with noisy clamor of dismay, darted into the bright air, and
disappeared far above the tops of the tallest houses.

Tor laughed aloud as a second idea struggled with the first in his
clouded brain; then he checked himself thoughtfully, and, winding
his rags more closely about him, trotted noiselessly away down the
street.

Chelluh, the blind beggar, for more years than one could count on
the fingers of both hands the undisputed proprietor of a snug corner
just within the Damascus gate, was shaking his brazen cup after his
daily custom. The cup rattled bravely, for certain coins had already
been dropped therein by the charitable.

“Have mercy, kind lords of Jerusalem; have mercy on the sorrows of


one born [pg 15]blind!” chanted the beggar in his whining
monotone. “Kind lords, beautiful ladies, only a denarius, I beseech of
you, and may the blessings of heaven—” The blind man paused, his
quick ear catching the sound of a hesitating footfall amid the
hurrying steps which passed in and out at the open gate. “Now may
Jove, Jehovah, and all lesser gods be gracious unto thee, noble sir,”
he began.

On a sudden this professional plaint broke into a bellow of anger and


alarm. “Help! Thieves! Murder!” he cried. “My money—my hard-
earned money! Some one has stolen my money!” No one appearing
to pay the slightest heed to his outcries, the beggar beat upon the
ground in a very fury of impotent rage.

Tor, standing well out of range of the [pg 16]whirling staff, regarded
the blind man with a pleased smile. For the moment he had quite
forgotten that he was hungry. “Aha! my very good master,” he cried
tauntingly, “and who is it who will fast to-day—ay, and perchance to-
morrow!”

At sound of the shrill childish voice the beggar sprang to his feet
with a vile imprecation. “Is it thou, spawn of the dust, who hast
dared rob me?” he screamed, making a vicious rush in the direction
of the voice. “Come hither, that I may break every bone of thy
thieving body!”

“What if I choose not to be beaten?” inquired Tor, coolly evading the


groping fingers of the beggar. “What if I will to exchange thy good
coin for bread? Yesterday thou gav’st me naught save a beating; to-
day I have had but a bellyful [pg 17]of curses. I tell thee I will serve
thee no longer. May Jove, Jehovah, and all lesser gods be gracious
unto thee!”

With this mocking farewell the boy darted away, and, being for the
moment almost as unseeing as his late master by reason of the
hunger which tore him urgently, ran straight into the arms of a man
who had been curiously watching the scene from the shelter of an
archway.

“Let me go!” shrieked Tor, striving with all his puny strength to
writhe out of the powerful grasp of his captor. “Let me go, I say!”
Then, like the little animal that he was, he twisted about and buried
his sharp white teeth in the brown hand that held him.

“Ouf! verily thou art a wolf-whelp!” cried the stranger, lightly cuffing
the child’s ears. “Hold hard, small one, till [pg 18]I find how thy
matters lie with the fellow yonder.”

“Give the lad into the hand of his lawful master, and may heaven
reward thee, noble sir,” cried Chelluh, making his way rapidly toward
the two with the aid of his staff. “The boy is mine—alas, that I
should have begotten such an undutiful one. Yet because of mine
infirmity—I am helpless, as thou seest—yes, but give him into my
hand and I will speedily requite him for robbing me of my last coin.”

“Didst thou steal his money, boy?” asked the stranger, stooping to
look into the child’s pinched face.

“Yes,” said Tor, his big, bright eyes fixed upon the beggar in manifest
terror. “I was hungry. Let me go or I will bite.”

“Ah, little dog, thy teeth shall be [pg 19]broken for that word,”
mumbled the beggar, feeling after the child with a ferocious chuckle.
“Give him to me—ah!”

“Not so fast, friend, not so fast,” said the stranger quietly, drawing
the boy away from the grimy talons outstretched to seize him. “This
is thy son, sayst thou? Why, then, is the child starving and naked,
whilst thou art sleek and well covered? Why is he bruised and
bleeding like the dog thou didst call him, whilst thou art whole?”

The beggar bared his yellow teeth in a malevolent smile. “Why,


herein is a marvel,” he said softly. “A noble stranger—for thy speech
betrayeth thee, kind sir—come to Jerusalem for the passover,
perchance, for love, for war—the gods alone know thine errand—but
delaying his so honorable affairs, his so [pg 20]important business,
to look to a blind beggar’s brat. Sacred fire, but I am bowed to the
earth before thy most noble condescension, who am not worthy to
touch the hem of thy honorable garment. I have said that the boy is
mine. If he be hungry, if he be naked, if he be bruised—what is that
to a stranger from Galilee? Truly, he is but a dog of the gutters, but
even a dog hath eyes and may be useful to one in my misfortune.”

“Wilt thou that I give thee into the hand of thy father?” asked the
Galilean of the child, who no longer struggled to free himself.

“The man is not my father,” mumbled Tor hopelessly. “He will kill
me.”

“Thou liest, my son, after thy custom,” put in Chelluh, with a


triumphant chuckle. “It is easy to kill—yes, and there is no one to
say me nay—easy, but [pg 21]not profitable. I shall but chasten thee
for thy profit as is enjoined upon every son of Abraham. Permit me
to salute thee, most honorable stranger, ’tis already over long that
we keep thee from thy business—my son and I.” And, leaning
forward as if to humbly kiss the stranger’s robe, the beggar laid
violent hands on the trembling child. “Oho! I have my fingers on
thee at last, rat of the gutter. Come now, and we will settle our
matters! Five denarii, it was. Brr—Veil of the temple! what now?”

The stranger had forcibly relaxed the clutch of the bony fingers.
“Here is thy money,” he said, counting out from his broad palm the
coins which the child passed over to him with a look of piteous
appeal. “Five denarii, saidst thou. As for the lad, if he hath the
proper love for thee he will doubtless return fast [pg 22]enough
when thou art in kindlier temper; if not, thou art relieved of his
keep. Come with me, boy, if thou wouldst eat.”

“Thou art a swine!” screamed the beggar. “Dost hear me, Galilean? A
swine—swine—swine! Thy father, also, and the father of thy father,
thy mother—sacred fire! Help! Help!”

The beggar lay sprawling in the dust, under a well-directed blow


from the Galilean’s powerful fist. The stranger stood over him,
breathing deep, his dark eyes flashing baleful fire. Then, shrugging
his shoulders slightly and muttering certain strange words under his
breath, he stooped, picked up the beggar quite gently, and set him
in his place. “Here is thy staff, thy cup, and thy money, friend,” he
said calmly, ignoring the torrent of imprecation which issued from
[pg 23]the open month of the beggar like a foul stream. “My Master
hath taught me that even such refuse as thou must be handled with
love. But, hark ye, fellow, no man may defile the name of my mother
and stand before Peter, the fisherman.”

The beggar strained his sightless eyes after the departing footfalls.
“Peter, the fisherman,” he repeated with a ferocious smile. “Ah, most
honorable and never-to-be-forgotten benefactor, I humbly thank thy
noble honor for relating to me thy name. May, Jove, Jehovah, and all
lesser deities enable me to suitably requite the man, and I will offer
of my gains a sacrifice—a yearling lamb, no less. I will, I swear it.”

[pg 24]
CHAPTER II
A SPARROW FALLETH

The Galilean, having thus made for himself an enemy, plunged into
one of the narrow streets leading toward the temple. He was still
breathing deep, and thrust his pilgrim’s staff fiercely into the red
dust of the gloomy thoroughfare. “Who am I that I should follow a
prophet?” he demanded of himself angrily. “ ‘If thine enemy smite
thee smite not thou again,’ saith my Master; and behold I have
smitten a stranger and one born blind. Verily, I am glad that the
Nazarene did not see me do it. Hold, I had forgotten the boy!” He
stopped short and presently spied Tor’s [pg 25]small head running
over with sunburnt curls peeping out from the shelter of a projecting
archway. The boy’s wild, bright eyes met his own defiantly.

“Thou’lt not catch me a second time, Galilean.”

The man’s white teeth flashed in a quick answering smile. “He who
is once bitten by a wolf’s whelp in future remembers and is content.”

“Did I bite thee to bleeding, Galilean?”

“Aye, verily, look thou at my hand.”

Tor laughed aloud. “It is well,” he said briefly.

“Nay, it is not well. ’Tis an evil thing for a child to bite like a dog.
Wilt thou eat with me, small one?”

“I bite like a dog because I hate like a dog and hunger like a dog,”
replied Tor slowly. “I stole from the beggar, [pg 26]and thou didst
take the money from me by force. Which is better? Nay, Galilean, I
will not eat with thee.”

The stranger sat down upon a stone with an air of indifference. “I


am hungry,” he said, and, producing a brown loaf and a handful of
olives from his pouch, began to eat.

Little by little the child crept nearer. Presently he stretched out one
puny hand and snatched a fragment of bread which the man
carelessly let fall.

“Ah, thou?” said the Galilean, with an air of surprise, and let fall
another bit. Later he placed a large piece of the bread on the stone
at his side and looked away at the tops of the houses.

“Does the hand that bleeds hurt thee over much, stranger?” inquired
a small voice at his elbow.

“Does a hand that is wounded to bleed[pg 27]ing hurt?” repeated


the Galilean gravely. “Verily, the smart is grievous; art satisfied?”

“Why didst thou hold me when I would not?” inquired the child.
“Was my doing any business of thine?”

The man shrugged his shoulders. “Nay,” he replied doggedly, “it was
not. Moreover, I should have been attending to the beam in mine
own eye. I have been taught to forbear quarreling—even for a just
cause. I am already punished, and shall be punished again. ‘Bray a
fool in a mortar,’ sayeth the wise Solomon, ‘yet will his folly not
depart from him.’ Such a fool am I.”

“Who told thee it was an evil thing to fight, Galilean?” asked the boy
curiously. He was sitting quite confidently now at the stranger’s side,
munching bread and olives. “I say it is not evil—[pg 28]that is,
unless one is beaten. Then, indeed, it is evil. But one may always
curse another. I have learned divers strong curses—ay, I am able to
curse a man or a beast in many tongues.”
“I have a Master, one Jesus of Nazareth,” said the Galilean slowly.
“He tells me that I must allow a man who has smitten me on one
cheek to smite the other also.”

“Of course, after thou hast smitten thine enemy soundly, he will
smite thee again, if he is able. Is thy Master a gladiator?”

“God forbid!” murmured the Galilean. He stared thoughtfully at the


famished child, who was devouring the last crumbs of bread. “Art
thou filled?” he asked.

Tor shrugged his thin shoulders. “Is the dry bed of Kedron filled with
a single [pg 29]shower?” he inquired tersely. “I have eaten. I—” He
stopped short and fixed his bright eyes on the Galilean’s hurt hand,
which he had thrust into a fold of his tunic. “Let me see it,” he added
timidly.

“Wherefore; wouldst thou again whet thy teeth on me?”

Tor shook his head. “It hurts me, also, now that I have eaten thy
bread,” he faltered. Then to the immense astonishment of the man,
he burst into a passion of weeping, his rough head bowed upon his
scarred knees. An evil-looking dog which had been hungrily
watching the scene from an angle in the wall skulked rapidly toward
the child, and thrust his lean carcass between the two; the Galilean
sprang to his feet with a muttered imprecation and threatening up-
raised staff.

[pg 30]
“Stop!” cried Tor, in sudden fury. “’Tis my dog. ’Tis Baladan. Thou
shalt not strike him!”

The man looked on in horrified amazement while the child wound his
thin arms about the shaggy neck of the brute, murmuring gently,
“See, here is yet a bit of bread for thee, good Baladan. Eat, my
friend, eat, it is good bread.”
The dog licked the child’s bare feet and whined his delight. “Didst
thou not know, boy, that dogs are unclean and evil brutes?”
demanded the Galilean with an air of profound disgust. “Nay, thou
art thyself unclean and evil, and I must away to my Master.” He
turned his back upon the child and strode away, his head bent, his
eyes fixed gloomily upon the ground.

Tor watched him furtively. Then, with a word to the dog, which
obediently [pg 31]slunk back into his chosen lair, he trotted
noiselessly after the man. “I will see where the stranger goes,” he
told himself.

The child had not followed the Galilean far when the dull rumbling of
chariot-wheels and the sharp crack of a whip warned him out of the
narrow thoroughfare. He flattened himself against a convenient wall
and stared greedily at the sight. This could be no less than a Roman
official of high rank; the boy knew it right well; his eyes roved
eagerly over the rich appointments of the chariot, and fastened
inquiringly on the frowning face of the man who guided the plunging
horses. A second man stood at the driver’s side, a man wearing a
tunic and toga richly bordered with the imperial purple.

Tor drew his breath sharply in pleased [pg 32]astonishment. Then


he saw that the chariot was hotly pursued by a crowd of gamins like
himself.

“’Tis the Roman Pilate himself,” he chuckled, “and perchance he will


presently cast out coin like grain from the fat pouch at his girdle.”

A shrill cry burst from the child’s lips as he joined the rabble at the
chariot-wheels. To run, to shout, to feel the glad thud of the falling
coin; to wrestle fiercely in the dust, to arise victorious, to eat and
drink the fruits of conquest—this was no new thing to Tor. And what,
indeed, was the random sting of a Roman lash—even when it
chanced to fall on naked limbs or shoulders—to the glory of the
chase?
The man who held the whip plied it vigorously before and behind
with loud imprecations in an unknown tongue, [pg 33]while he who
wore the imperial purple stared frowningly into vacancy, his hands
clasped loosely behind his back.

Tor’s swift feet gained on the chariot. “Hail, great Pilate!” he shouted
impudently, “art deaf? art blind? art palsied? Give us now of the
temple treasure! Ay—give! give!”

The Roman’s dull eyes flashed baleful fire. The fact that he had
attempted to seize large sums from the temple treasuries, and that
the Jews hated him for it, was no secret in Jerusalem. But must the
very gamins of the street taunt him with the fact? He snatched the
lash from the driver and plied it himself with a practiced hand.

Tor fell back with a shriek of keenest agony.

The chariot and the rabble swept on and disappeared, leaving the
child [pg 34]writhing on the pavement like a wounded animal.

The whip, fringed cruelly with glistening barbs of steel, had lashed
him full across the eyes.

[pg 35]
CHAPTER III
THE MAN WHO OPENED HIS EYES

To Tor, groaning in the wordless anguish of his hurts, came a soft


inquiring touch on his heaving shoulders. Led by that kind instinct
which guides all wounded creatures, the child had crawled away and
hidden himself from unfriendly eyes in the mouth of a ruinous sewer
hard by. Here he had lain long hours, exhausted with agony. The
dog snuffed the small huddled figure from head to foot with short,
anxious whines. Then he fell to industriously licking the one limp
brown hand which crept out from beneath the ragged tunic.

[pg 36]
“Baladan,” whispered Tor, and shrieked aloud with the intolerable
smart of rising tears in his blinded eyes.

The shriek, faint as it was, reached the ears of a second boy, who
was searching carefully from side to side of the gloomy little
thoroughfare. “’Tis thou, Tor,” he exclaimed, stooping to stare in at
the sewer’s mouth. “Art bad hurt?”

“Oh, Dan, the accursed lash of the Roman smote my eyes,” groaned
the child, and sputtered out some strange maledictions in the
Egyptian tongue, which he had learned from his late master.

The second boy pursed up his coarse lips into a soft whistle of
comprehension. Then he bent down and stared briefly into the
drooped face of the half-delirious sufferer. “Body of Bacchus!” [pg
37]he murmured, smiting his bare thigh with closed fist. “One more
blind beggar in Jerusalem.” Then raising his fingers to his lips he
gave vent to a shrill cry of summons. It was promptly answered by
the soft thud of a water-carrier’s feet and the loud tinkle of his
brazen cups.

“Give him to drink,” commanded Dan, indicating Tor with a grimy


forefinger. “The poor fool hath brought ill-fortune upon himself. ’Tis
the evil eye of a surety.” With that he produced a copper coin, which
the water-carrier acknowledged with a cup of water from the goat-
skin on his back.

“I will come again at sunset and give him to drink,” said the water-
carrier, with a sidelong glance of fear and pity. Then the two
departed, leaving Tor to his misery.

[pg 38]
How the child lived through the days and weeks that followed only
Baladan knew. The dog warmed his master’s pinched body at night,
keeping at bay other prowling beasts of the pariah race which
ranged the deserted streets, as lawless and almost as fierce as
wolves.

He even fed him, more than once bringing fragments of bread and
fish, stolen from a vender’s stall at the imminent peril of his life.
Occasionally the friendly water-carrier visited the suffering boy, and
the little wild children of the street, swarming like sparrows in the
streets of Jerusalem, shared their infrequent crusts with him.

By slow degrees the anguish of his wounds grew less poignant. The
cruelly disfigured eyes were indeed wholly darkened, but they
ceased to send burning shafts of fire to the tortured brain. The [pg
39]child slept fitfully, ate what he could get, and one day even
smiled. This when Baladan brought him a meatless bone, laying it
down at his feet with extravagant expressions of satisfaction. “Nay,
good Baladan,” murmured Tor, patting his friend’s shaggy coat;
“indeed I am not hungry to-day. Eat, dear beast,” and he thrust the
bone into the dog’s mouth, and closed his sharp teeth upon it.
Baladan understood, and the two rested together in the sunshine
with something like real content.

The charitable water-carrier had bestowed one of his brazen cups


upon the blind boy, and this with his ruined eyes became his stock in
trade. Little by little he learned to send forth the dolorous plaint of
the blind mendicant. After a time he could find his way from place to
place with the aid of the dog. And so [pg 40]it came to pass that
there was one more blind beggar in Jerusalem.

Once during these evil days of his darkness Tor fell in with his old
master. It was on this wise: the child, grown bolder, had made his
way farther than his wont into the more crowded thoroughfares of
the city, and there his shrill cry for alms sounded loud and clear
above the tumult of the market-place. He rattled his cup bravely as
was the custom of the professional beggar, sending forth into the
unfriendly world the old familiar plaint of the beggar, Chelluh. “Have
mercy, kind lords of Jerusalem; have mercy on the sorrows of one
born blind! Kind lord, kind lady, only a denarius, I beseech thee, and
may Jehovah and all lesser gods be gracious unto thee!”

Now it chanced that Chelluh himself had also come to the market-
place to beg [pg 41]alms, and, hearing the child’s voice afar off,
recognized it with the unerring ear of the blind. “Fetch me now to
the voice that crieth my cry,” he commanded the one that led him.
And when presently he was come to the place where Tor stood in
the safe angle of two windowless walls, he stopped short with a
malevolent smile.

“Art thou of a surety blind, my son—that thou stealest my cry for


alms as thou didst once steal my money?” he demanded.

Tor trembled like a leaf in the wind at sound of the cruel voice. “Alas,
I am indeed blind, good master,” he said beseechingly. “Have mercy
upon me, for I—”
The prayer ended in a muffled shriek for help as the blind man
hurled himself upon the blind child, griping him in a [pg 42]very fury
of malicious hatred. No one interfered. What, indeed, was the
quarrel of two beggars in an angle of the wall?

Trade pressed hard in Jerusalem as elsewhere, and a man must


mind naught save his own business if he would prosper. So no one
glanced that way when the blind man, having satisfied his lust for
revenge, departed, leaving the child’s limp body upon the ground.

Tor was not dead. He was only bruised and beaten and choked into
insensibility, and after awhile he revived and crawled feebly away
with the faithful Baladan. His begging-cup was gone, and he no
longer dared to raise his voice to crave alms from the passers-by.
Occasionally one tossed him a coin or a crust, but for the most part
the child crouched all day in his corner motionless, starving. And the
days and weeks dragged by.

[pg 43]
He was sitting thus one morning when the sun had climbed high
enough to flood his darkened nook with yellow light. Tor could feel
the warmth of its radiance in his chill darkness. He sighed deeply
and spread forth his lean hands, wondering dully what it would be
like to see once more. He had already forgotten the blue sky and the
moving clouds, the flutter of green leaves over high garden walls
and the glistening whir of bird-wings in the sunshine. His night was
endless, unbroken by morning gleam or noontide glory. It meant
cold and hunger and a thousand nameless miseries which he
endured because he must endure. It would stretch on and on, he
thought, to some far-off, hopeless end, when perchance he might
sleep to awaken no more.

Tor had looked upon such sleepers [pg 44]with a scared creeping of
the flesh in the old days of seeing. Now the sleep seemed good, and
quite stupidly and vaguely he longed for it.
Somewhere, afar off, there was shouting and a sound of voices that
chanted musically. The child listened with the sharpened attention
which had grown to be his one defence and solace. In the old days
his flying feet would have borne him swiftly enough to see what was
happening. Now he could only listen, and wonder.

“Perhaps ’tis some great prince come to Jerusalem,” he muttered,


and tried to picture to himself the gay pageant of the marching
troops, the gorgeous uniforms, the jeweled robes of the nobles, the
chariots, the horses. And now the shouting grew louder, there was a
noise of swift-hurrying feet, of confused ques[pg 45]tions and
answers, while above all rose the clear musical voices of myriads of
children crying in the rhythmic measures of the temple chorals:
“Hosanna to the Son of David! Blessed—Blessed is the King that
cometh in the name of the Lord! Hosanna in the highest!”

Tor started uncertainly to his feet, a strange, new longing for


something he knew not what stealing into his starved soul. Baladan
whined uneasily, then, running to the street-corner and back again
to his helpless master, began to utter short excited barks.

The child’s thin fingers trailed the rough wall askingly; his timid feet
crept nearer to the jubilant procession. “Hosanna—Hosanna to the
King! Hosanna to the Son of David!” He had reached the open
square, and, fearing to go fur[pg 46]ther, he sank down once more
in the shelter of a friendly column, hot tears stealing from his
darkened eyes. “Oh, Baladan,” he moaned, “if I could only see!”

And now the sweet chanting was growing momently fainter. Tor
followed the procession in fancy. It was moving toward the temple,
he knew,—that great pile of stone and marble and gold which
towered above the tumultuous streets of Jerusalem like the
glistening palace of a dream. Now it had passed into the outer
courts, and a great and singular silence fell upon the city.
It was broken after what seemed hours of waiting by light and rapid
footfalls. “Tor,” cried an eager, breathless voice. “Where art thou?—
Tor!”

“Here!” answered the blind boy, starting to his feet and straining his
[pg 47]sightless eyes in the direction of the voice. “Here am I. What
wilt thou, Dan?” For he knew the voice and the step of his friend.

“I have come to fetch thee to the temple,” breathed the boy


excitedly. “Thou must come quickly, before the King has gone away
to his palace.”

“Did the King scatter coins among the crowd?” asked Tor eagerly.
“Are the soldiers giving bread and alms to the people, as when Pilate
came to Jerusalem?”

“Nay, the man is like no other great one who ever came to
Jerusalem,” answered Dan wonderingly. “He is verily a King though.
Didst thou not hear the people shouting, ‘Blessed is the King that
cometh!’ Hark you, the man is a strange King. He wears no crown,
no jewels; he hath no soldiers, no money for [pg 48]the people. He
came into the city riding on the colt of an ass; but the people cast
even their garments upon the earth before him. I saw it, and
shouted with the rest; and because I had no coat, I cut a green
branch from a tree and cast it beneath the feet of his beast. So also
did many others, when they saw what I had done. They cut palm-
branches, olive-branches, and acacias from fields and gardens all
along the way; ’twas a great sight! The big turbans came out in a
rage to shut our mouths, but for once they could not. Come,—thou
must come!”

“Why should I come?” said Tor mournfully. “I am only a beggar—and


blind.”

“But thou shalt have thine eyes again, lad,” cried Dan exultantly.
“The King is even now laying his hands upon the [pg 49]blind, the
lame, and palsied, and they see and leap and walk forthwith. I
myself have looked upon it. I will fetch thee to him.”

“But the King would not touch me—a beggar, and unclean,” wailed
Tor. “Look you, I am no better than Baladan, and the Jews hate and
despise all dogs. He would spurn me—spit upon me. Nay, I will not
go.”
“ ‘I HAVE SAID IT. I WILL TAKE THEE TO THE KING.’ ”

Dan laid violent hands upon the blind boy. “Thou shalt go with me,”
he said loudly. “I have said it. I will take thee to the King, then if he
spurn thee—spit upon thee—Nay, but he will not spurn thee; I saw
him, and I say that he will not. But if he heal thee not, what then? I
will bring thee again to this place. There shall no harm befall thee.”

The two boys made their way to the temple enclosure, slipping
easily among [pg 50]the excited multitudes, unnoticed even as the
little brown sparrows which flit among the great feet of horses in a
crowded thoroughfare. And when they had come to the place where
Jesus was, they found already gathered great numbers of blind and
lame and withered and palsied, and the court ringing with the noise
of their petitions mingled with the jubilant thanksgivings of those
already healed.

“Here, get thee betwixt these two cripples,” whispered Dan urgently.
“Fasten thou onto this man’s tunic—so! Now go, and come again—
seeing. I will wait for thee by this third pillar. Thou wilt see me.”

The blind boy stumbled on behind his crippled guide, his heart
beating so loud in his ears that he could scarce hear what the Voice
said to him. But the thrilling [pg 51]touch on his sightless eyes sank
to the depths of his soul. He saw—Jesus.

Some one was pushing him from behind; Tor yielded to the pressure
without a word—without a sound. His great eyes, wide and bright,
still remained fastened upon the man who had healed him; but he
uttered no sound of rejoicing.

To Dan, watching beside the third pillar, came a sudden sickening


sense of defeat. He made his way through the crowd and again laid
forcible hands upon Tor.

“Let me alone,” commanded Tor briefly. “I want to look at the man.”

“Canst see him?” inquired Dan incredulously.

Tor made no answer. He was thinking confusedly, vaguely, while one


fixed purpose formed and lifted itself like a great, radiant light in his
darkened un[pg 52]derstanding. “I shall follow him,” he said aloud,
and his thin face shone strangely. “I shall see him always.”

“Canst thou see, lad?” cried Dan, griping his friend’s shoulders
impatiently, “or art thou crazed as well as blind?”

Tor turned his bright eyes upon the other boy. “Can I see?” he
echoed, and laughed aloud. Then, in a sudden ecstasy, he leaped
upon a balustrade and shouted aloud the word which he had heard
afar off in his darkness: “Hosanna! Hosanna! Hosanna in the
highest!” Myriads of child voices took up the cry, and it arose into
the blue heavens far—far beyond the smoke of the sacrificial fires,
till it mingled with the songs of angels before the great white throne.
And there was joy in Heaven.

[pg 53]
CHAPTER IV
“THE KING, MY MASTER!”

The sun was setting behind the mountains before hunger, more
potent than even the temple police with its flail-like rods of office,
had cleared the great court of the temple. The sick and blind, the
maimed and palsied had gone away restored, the multitude, sated
with miracle and weary of shouting, followed. The Nazarene himself,
looking more worn and thoughtful than his wont, also departed with
the twelve, his disciples bearing themselves haughtily under the
angry eyes of the priests.

At last their Master had declared him[pg 54]self before the nation.
All the city had heard the royal acclamation. The promised reign of
the house of David was about to be restored in Jerusalem. Already
they felt themselves to be princes and governors in a kingdom of
unimagined splendor.

Peter, the Galilean, as he followed with the others after the pale,
potent worker of miracles, who was also a King, became aware of a
determined clutch upon his abba, and, looking down, beheld with
amazement and displeasure the small, pinched face of Tor. “I have
nothing for thee, beggar,” he said quickly, and pulled his garment
impatiently away from the child’s clinging touch.

“Nay, but I am not begging,” said Tor, in nowise abashed. “The man
—yonder—is he thy Master?”

“What is that to thee?” frowned the [pg 55]future prince of Israel.


“Get thee gone, the King is passing.”

You might also like