100% found this document useful (13 votes)
116 views

Instant Download The C Player s Guide 3rd Edition Rb Whitaker PDF All Chapters

s

Uploaded by

smihtyarusig
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
100% found this document useful (13 votes)
116 views

Instant Download The C Player s Guide 3rd Edition Rb Whitaker PDF All Chapters

s

Uploaded by

smihtyarusig
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/ 50

Download the full version of the ebook at ebookname.

com

The C Player s Guide 3rd Edition Rb Whitaker

https://ebookname.com/product/the-c-player-s-guide-3rd-
edition-rb-whitaker/

OR CLICK BUTTON

DOWNLOAD EBOOK

Download more ebook instantly today at https://ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

The C Player s Guide 5th Edition Rb Whitaker

https://ebookname.com/product/the-c-player-s-guide-5th-edition-rb-
whitaker/

ebookname.com

Complete Arcane A Player s Guide 1st Edition Richard Baker

https://ebookname.com/product/complete-arcane-a-player-s-guide-1st-
edition-richard-baker/

ebookname.com

The RF Transmission Systems Handbook 1st Edition Jerry C.


Whitaker (Ed.)

https://ebookname.com/product/the-rf-transmission-systems-
handbook-1st-edition-jerry-c-whitaker-ed/

ebookname.com

The Five Practices of Exemplary Leadership Nursing 1st


Edition James M. Kouzes And Barry Z. Posner

https://ebookname.com/product/the-five-practices-of-exemplary-
leadership-nursing-1st-edition-james-m-kouzes-and-barry-z-posner/

ebookname.com
The Conservative Intellectual Movement in America Since
1945 3rd Edition George H. Nash

https://ebookname.com/product/the-conservative-intellectual-movement-
in-america-since-1945-3rd-edition-george-h-nash/

ebookname.com

The Challenge of Legislation Bipartisanship in a Partisan


World 1st Edition John L. Hilley

https://ebookname.com/product/the-challenge-of-legislation-
bipartisanship-in-a-partisan-world-1st-edition-john-l-hilley/

ebookname.com

Modern Astrodynamics None

https://ebookname.com/product/modern-astrodynamics-none/

ebookname.com

Minnie Fisher Cunningham A Suffragist s Life in Politics


1st Edition Judith N. Mcarthur

https://ebookname.com/product/minnie-fisher-cunningham-a-suffragist-s-
life-in-politics-1st-edition-judith-n-mcarthur/

ebookname.com

Stem Cell Research and Cloning Point Counterpoint 1st


Edition Alan Marzilli

https://ebookname.com/product/stem-cell-research-and-cloning-point-
counterpoint-1st-edition-alan-marzilli/

ebookname.com
Advances in Imaging and Electron Physics Vol 125 1st
Edition Peter W. Hawkes

https://ebookname.com/product/advances-in-imaging-and-electron-
physics-vol-125-1st-edition-peter-w-hawkes/

ebookname.com
The C# Player’s Guide
Third Edition

RB Whitaker

Starbound Software
Copyright © 2012-2017 by RB Whitaker

RB Whitaker
rbwhitaker@outlook.com
ISBN-10: 0-9855801-3-5
ISBN-13: 978-0-9855801-3-1
Contents at a Glance

Acknowledgements xvii
Introduction xix

Part 1: Getting Started


1. The C# Programming Language 3
2. Installing Visual Studio 6
3. Hello World: Your First C# Program 10
4. Comments 19

Part 2: The Basics


5. Variables 25
6. The C# Type System 31
7. Basic Math 42
8. User Input 48
9. More Math 53
10. Decision Making 60
11. Switch Statements 68
12. Looping 71
13. Arrays 77
14. Enumerations 83
15. Methods 86
16. Value and Reference Types 97
Part 3: Object-Oriented Programming
17. Object-Oriented Basics 107
18. Making Your Own Classes 112
19. Properties 124
20. Tic-Tac-Toe 130
21. Structs 138
22. Inheritance 144
23. Polymorphism, Virtual Methods, and Abstract Classes 151
24. Interfaces 156
25. Using Generics 160
26. Making Generic Types 167

Part 4: Advanced Topics


27. Namespaces and Using Directives 175
28. Methods Revisited 180
29. Reading and Writing Files 190
30. Error Handling and Exceptions 194
31. Pattern Matching 201
32. Delegates 206
33. Events 212
34. Operator Overloading 219
35. Indexers 223
36. Extension Methods 226
37. Lambda Expressions 230
38. Query Expressions 236
39. Threads 245
40. Asynchronous Programming 251
41. Dynamic Objects 259
42. Unsafe Code 265
43. Other Features in C# 271

Part 5: Mastering the Tools


44. The .NET Platform 301
45. Getting the Most from Visual Studio 313
46. Dependencies and Multiple Projects 319
47. Handling Common Compiler Errors 326
48. Debugging Your Code 333
49. How Your Project Files are Organized 339
Part 6: Wrapping Up
50. Try It Out! 345
51. What’s Next? 351
Glossary 354
Tables and Charts 369
Index 374
Contents

Acknowledgements xvii
Introduction xix
The Player’s Guide xix
How This Book is Organized xx
Getting the Most from This Book xxii
I Genuinely Want Your Feedback xxiii
This Book Comes with Online Content xxiii

Part 1: Getting Started


1. The C# Programming Language 3
What is C#? 3
What is the .NET Platform? 4
C# and .NET Versions 5
2. Installing Visual Studio 6
Versions of Visual Studio 7
The Installation Process 7
C# Programming on Mac and Linux 9
3. Hello World: Your First C# Program 10
Creating a New Project 10
A Brief Tour of Visual Studio 11
Building Blocks: Projects, Solutions, and Assemblies 12
Modifying Your Project 13
Compiling and Running Your Project 14
A Closer Look at Your Program 16
Whitespace Doesn’t Matter 17
Semicolons 18
4. Comments 19
What is a Comment? 19
Why Should I Use Comments? 19
How to Make Comments in C# 20
How to Make Good Comments 21

Part 2: The Basics


5. Variables 25
What is a Variable? 25
Creating Variables 26
Assigning Values to Variables 27
Retrieving the Contents of a Variable 27
How Data is Stored 28
Multiple Declarations and Assignments 29
Good Variable Names 29
6. The C# Type System 31
An Introduction to the Type System 31
The ‘int’ Type 31
The ‘byte’, ‘short’, and ‘long’ Types 32
The ‘sbyte’, ‘ushort’, ‘uint’, and ‘ulong’ Types 32
The ‘char’ Type 33
The ‘float’, ‘double’, and ‘decimal’ Types 34
The ‘bool’ Type 36
The ‘string’ Type 36
Numeric Literal Variations 38
Type Inference 40
7. Basic Math 42
Operations and Operators 42
Addition, Subtraction, Multiplication, and Division 43
The Remainder Operator 44
Unary ‘+’ and ‘-‘ Operators 45
Operator Precedence and Parentheses 46
Why the ‘=‘ Sign Doesn’t Mean Equals 46
Compound Assignment Operators 47
8. User Input 48
User Input from the Console 48
Converting Types 48
A Complete Sample Program 49
Escape Characters 51
String Interpolation 52
9. More Math 53
Integer Division 54
Working with Different Types and Casting 55
Division by Zero 56
Infinity, NaN, e, π, MinValue, and MaxValue 56
Overflow and Underflow 57
Incrementing and Decrementing 58
10. Decision Making 60
The ‘if’ Statement 61
The ‘else’ Statement 62
‘else if’ Statements 62
Curly Braces Not Always Needed 63
Relational Operators: ==, !=, <, >, <=, >= 63
Using ‘bool’ in Decision Making 65
The ‘!’ Operator 65
Conditional Operators: && and || (And and Or) 66
Nesting If Statements 66
The Conditional Operator ?: 67
11. Switch Statements 68
The Basics of Switch Statements 68
Types Allowed with Switch Statements 70
No Implicit Fall-Through 70
12. Looping 71
The While Loop 71
The Do-While Loop 73
The For Loop 73
Breaking Out of Loops 74
Continuing to the Next Iteration of the Loop 74
Nesting Loops 75
Still to Come: Foreach 76
13. Arrays 77
What is an Array? 77
Creating Arrays 78
Getting and Setting Values in Arrays 78
More Ways to Create Arrays 79
Array Length 79
Some Examples with Arrays 79
Arrays of Arrays and Multi-Dimensional Arrays 80
The ‘foreach’ Loop 81
14. Enumerations 83
The Basics of Enumerations 83
Why Enumerations are Useful 85
Underlying Types 85
Assigning Numbers to Enumeration Values 85
15. Methods 86
Creating a Method 87
Calling a Method 88
Returning Stuff from a Method 89
Passing Stuff to a Method 91
Passing in Multiple Parameters 91
Method Overloading 92
Revisiting the Convert and Console Classes 94
XML Documentation Comments 94
The Minimum You Need to Know About Recursion 95
16. Value and Reference Types 97
The Stack and the Heap 97
Memory Management and Garbage Collection 98
References 99
Value Types and Reference Types 99
Null: References to Nothing 101
Value and Reference Semantics 102

Part 3: Object-Oriented Programming


17. Object-Oriented Basics 107
Object Classes and Object Instances 107
Working with an Existing Class 108
Using an Instance 109
The Power of Objects 110
Classes are Reference Types 110
18. Making Your Own Classes 112
Creating a New Class 112
Instance Variables 114
Access Modifiers: private and public 114
Constructors 115
Methods 118
The ‘static’ Keyword 120
Using Our Class 121
The ‘internal’ Access Modifier 121
Class Design and Software Engineering 122
19. Properties 124
The Motivation for Properties 124
Creating Properties 125
Different Accessibility Levels 127
Auto-Implemented Properties 127
Object Initializer Syntax 128
Anonymous Types 129
20. Tic-Tac-Toe 130
Requirements 130
High-Level Design 131
Refactoring and Iterative Design 132
The Full Solution 132
21. Structs 138
Creating a Struct 138
Structs vs. Classes 139
Deciding Between a Struct and a Class 140
Prefer Immutable Value Types 141
The Built-In Types are Aliases 142
22. Inheritance 144
Base Classes 145
Derived Classes 145
Using Derived Classes 146
Constructors and Inheritance 147
The ‘protected’ Access Modifier 148
The Base Class of Everything: object 148
Sealed Classes 148
Partial Classes 149
C# Does Not Support Multiple Inheritance 150
23. Polymorphism, Virtual Methods, and Abstract Classes 151
Polymorphism 151
Revisiting the ‘base’ Keyword 153
Abstract Base Classes 154
The ‘new’ Keyword with Methods 154
24. Interfaces 156
What is an Interface? 156
Creating an Interface 157
Using Interfaces 158
Multiple Interfaces and Inheritance 159
25. Using Generics 160
The Motivation for Generics 160
What are Generics? 162
The List Class 162
The IEnumerable<T> Interface 164
The Dictionary Class 165
26. Making Generic Types 167
Creating Your Own Generic Types 167
Using Your Generic Type in Your Class 168
Generic Type Constraints 169
Generic Methods 171
The Default Operator 171

Part 4: Advanced Topics


27. Namespaces and Using Directives 175
Namespaces 175
Fully Qualified Names 176
Using Directives 176
The Error ‘The type or namespace X could not be found’ 176
Name Collisions 178
Static Using Directives 179
28. Methods Revisited 180
Local Functions 180
Optional Parameters 181
Named Parameters 182
Variable Number of Parameters 182
The ‘out’ and ‘ref’ Keywords 183
Returning Multiple Values 186
29. Reading and Writing Files 190
The File Class 190
Text-Based Files 192
Binary Files 193
30. Error Handling and Exceptions 194
How Exception Handling Works 195
Catching Exceptions 196
Handling Different Exceptions in Different Ways 197
Throwing Exceptions 197
The ‘finally’ Keyword 199
Exception Filters 200
Some Rules about Throwing Exceptions 200
31. Pattern Matching 201
Contrasted with Regular Expressions 201
The Pattern Concept 202
Available Patterns 202
Using Patterns in C# 203
Expect Patterns to Expand 205
32. Delegates 206
Delegates: Treating Methods like Objects 206
Creating a Delegate 206
Using Delegates 207
The Delegate and MulticastDelegate Classes 208
Delegate Chaining 209
The Action and Func Delegates 211
33. Events 212
Defining an Event 213
Raising an Event 214
Attaching and Detaching Event Handlers 215
Common Delegate Types Used with Events 216
The Relationship between Delegates and Events 218
34. Operator Overloading 219
Overloading Operators 220
35. Indexers 223
How to Make an Indexer 223
Using Other Types as an Index 224
Index Initializer Syntax 225
36. Extension Methods 226
Creating an Extension Method 227
37. Lambda Expressions 230
The Motivation for Lambda Expressions 230
Lambda Expressions 232
Multiple and Zero Parameters 233
Type Inference Failures and Explicit Types 233
Statement Lambdas 233
Scope in Lambda Expressions 233
Expression-Bodied Members 234
Lambdas vs. Local Functions 235
38. Query Expressions 236
From Clauses 238
Select Clauses 239
Where Clauses 239
Multiple From Clauses 239
Let Clauses 240
Join Clauses 240
Orderby Clauses 240
Group Clauses 241
Into Clauses 242
Group Joins 242
Query Syntax and Method Call Syntax 243
Queries are Lazy When Possible 243
39. Threads 245
Threading Code Basics 246
Using ParameterizedThreadStart 247
Thread Safety 249
40. Asynchronous Programming 251
What is Asynchronous Programming? 251
Approaches from the Early Days 252
The Task-based Asynchronous Pattern 255
The ‘async’ and ‘await’ Keywords 256
41. Dynamic Objects 259
Dynamic Type Checking 260
Dynamic Objects and the Dynamic Language Runtime 260
Emulating Dynamic Objects with Dictionaries 261
ExpandoObject 262
Extending DynamicObject 262
When to Use Dynamic Object Variations 264
42. Unsafe Code 265
Unsafe Contexts 265
Pointer Types 266
Stack Allocations 267
Fixed Statements 268
Fixed Size Arrays 269
Calling Native Code with Platform Invocation Services 270
43. Other Features in C# 271
Iterators and the Yield Keyword 272
Constants 273
Attributes 274
The ‘nameof’ Operator 275
The ‘sizeof’ Operator 276
Bit Fields 277
Reflection 280
Using Statements and the IDisposable Interface 280
Preprocessor Directives 281
Nullable Types 283
Simple Null Checks: Null Propagation Operators 283
Command Line Arguments 285
User-Defined Conversions 286
The Notorious ‘goto’ Keyword 287
Generic Covariance and Contravariance 290
Advanced Namespace Management 293
Checked and Unchecked Contexts 294
Volatile Fields 295

Part 5: Mastering the Tools


44. The .NET Platform 301
Overview of the .NET Platform 301
A Brief History of the .NET Platform 304
Binary, Assembly, and Compilers 304
Virtual Machines and the Common Language Runtime 306
The .NET Standard Library 308
The .NET Framework 309
.NET Core 310
Xamarin 310
App Models 311
45. Getting the Most from Visual Studio 313
Windows 313
The Options Dialog 315
Including and Excluding Files 315
Showing Line Numbers 316
IntelliSense 316
Basic Refactoring 317
Keyboard Shortcuts 317
46. Dependencies and Multiple Projects 319
Adding DLL References 320
NuGet Packages 321
Creating and Referencing Multiple Projects 323
47. Handling Common Compiler Errors 326
Understanding Compiler Errors 326
Compiler Warnings 326
Common Compiler Errors 327
General Tips for Handling Errors 331
48. Debugging Your Code 333
Launching Your Program in Debug Mode 333
Viewing Exceptions 334
Editing Your Code While Debugging 335
Breakpoints 336
Stepping Through Your Program 336
49. How Your Project Files are Organized 339
Visual Studio’s Projects Directory 340
The Solution Directory 340
The Project Directory 341

Part 6: Wrapping Up
50. Try It Out! 345
Message from Julius Caesar 346
Reverse It! 346
Pig Dice 347
Connect Four 347
Conway’s Game of Life 348
51. What’s Next? 351
Other Frameworks and Libraries 351
Other Topics 352
Make Some Programs 352
Where Do I Go to Get Help? 353
Parting Words 353
Glossary 354
Tables and Charts 369
Index 374
Introduction

In a Nutshell
 Describes the goals of this book, which is to function like a player’s guide, not a
comprehensive cover-everything-that-ever-existed book.
 Breaks down how the book is organized from a high-level perspective, as well as pointing out
some of the extra “features” of the book.
 Provides some ideas on how to get the most out of this book for programmers, beginners,
and anyone who is short on time.

The Player’s Guide


This book is not about playing video games. (Though programming is as fun as playing video games for
many people.) Nor is it about making video games, specifically. (Though you definitely can make video
games with C#.)

Instead, think of this book like a player’s guide, but for a programming language. A player’s guide is a
popular kind of book that is written to help game players:
 learn the basics of the game,
 prevent them from getting stuck,
 understand how the world they’re playing in works,
 learn how to overcome the obstacles and enemies they face,
 point out common pitfalls they may face and locate useful items,
 and master the tools they’re given.
This book accomplishes those same goals for the C# programming language. I’ll walk you through the
language from the ground up, point out places where people get stuck, provide you with hands-on
examples to explore, give you quizzes to ensure you’re on the right track, and describe how to use the
tools that you’ll need to create programs. I’ll show you the ins and outs of the many features of C#,
describing why things work the way they do, rather than just simple mechanics and syntax.
xx Introduction

My goal is to provide you with the “dungeon map” to direct you as you begin delving into C#, while still
allowing you to mostly explore whatever you want, whenever you want.
I want to point out that this book is intentionally not called Everything you Need to Know about C#, or The
Comprehensive Guide to C#. (Note that if books with those titles actually exist, I’m not referring to them
specifically, but rather, to just the general idea of an all-encompassing book.) I’m here to tell you, when
you’re done with this book, you’ll still have lots to learn about C#.
But guess what? That’s going to happen with any book you use, including those all-encompassing books.
Programming languages are complex creations, and there are enough dark corners and strange
combinations that nobody can learn everything there is to know about them. In fact, I’ve even seen the
people who designed the C# language say they just learned something new about it! For as long as you
use C#, you’ll constantly be learning new things about it, and that’s actually one of the things that makes
programming interesting.

I’ve tried to cover a lot of ground in this book, and with roughly 400 pages, anyone would expect that to
be quite a bit. And it is. But there are plenty of other books out there that are 800 or even 1200 pages
long. A book so heavy, you’ll need a packing mule to carry it anywhere. That, or permanently place it on
the central dais of an ancient library, with a single beam of dusty light shining in on it through a hole in
the marble ceiling. Instead of all that, the goal of this book is effectiveness and clarity, not
comprehensiveness. Something that will fit both on your shelf and in your brain.
It is important to point out that this book is focused on the C# programming language, rather than
libraries for building certain specific application types. So while you can build desktop applications, web
pages, and computer games with C#, we won’t be discussing WPF, ASP.NET, DirectX, or any other
platform- or framework-specific code. Instead, we’ll focus on core C# code, without bogging you down
with those additional libraries at first. Once you’ve got the hang of C#, heading into one of those areas will
be much easier.

How This Book is Organized


This book is divided into six parts. Part 1 describes what you need to get going. You’ll learn how to get set
up with the free software that you need to write code and make your first C# program.

Part 2 describes the basics of procedural programming—how to tell the computer, step-by-step, what to
do to accomplish tasks. It covers things like how information is stored (in variables), how to make
decisions, loop over things repeatedly, and put blocks of code that accomplish specific tasks into a
reusable chunk called a method. It also introduces the type system of the C# language, which is one of
the key pieces of C# programming.

Part 3 goes into object-oriented programming, introducing it from the ground up, but also getting into a
lot of the details that make it so powerful. Chapter 20, in my opinion, is the critical point of the book. By
Chapter 19, we’ve introduced all of the key concepts needed to make almost any C# program, including
classes, which is the most powerful way C# provides for building your own data types. Chapter 20
contains the task (and solution) to making a simple but complete game of Tic-Tac-Toe, which will put all of
the knowledge from the earlier chapters to the test. Everything we do after this chapter is simply fleshing
out details and giving you better tools to get specific jobs done faster.

Part 4 covers some common programming tasks, as well as covering some of the more advanced features
of C#. For the most part, these topics are independent of each other, and once you’ve made it past that
critical point in Chapter 20, you should be able to do these at any time you want.
How This Book is Organized xxi

Part 5 changes gears, and covers more details about Visual Studio, which you use to create C# programs,
additional information about the .NET Platform, and some tools, tricks, and information you can use as
you program.

Finally, Part 6 wraps up the book with some larger scale programs for you to try making, a chapter on
where to go next as you continue to learn C#, and a glossary of words that are defined throughout the
book, which you can use as a reference when you run across a word or phrase that you are unfamiliar
with or have forgotten about.

Try It Out!
Scattered throughout the book are a variety of sections labeled Try It Out! These sections give you simple
challenge problems and quizzes that give you a chance to play around with the new concepts in the
chapter and test your understanding. If this were a class, these would be the homework.
The purpose of these Try It Out! sections is to help you get some real world practice with the new
information. You can’t learn to drive a car by reading the owner’s manual, and you can’t learn to program
without writing any code.
I strongly encourage you to spend at least a few minutes doing each of these challenges to help you
understand what you’re reading and ensure that you’ve learned what you needed to.

If you have something else you want to explore with the new concepts instead of the challenges I’ve
provided, all the better. The only thing better than playing around with this stuff is doing something with
it that you have a personal interest in. If you want to explore a different direction, go for it!
At the end of the book, in Chapter 50, I have an entire chapter full of larger, tougher challenge problems
for you to try out. These problems involve combining concepts from many chapters together into one
program. Going through some or all of these as you’re finishing up will be a great way to make sure you’ve
learned the most important things you needed to.

The most important thing to remember about these Try It Out! sections is that the answers are all online. If
you get stuck, or just want to compare your solution to someone else’s, you can see mine at
starboundsoftware.com/books/c-sharp/try-it-out/. I should point out that just because your solution
is different from mine (or anyone else’s) doesn’t necessarily mean it is wrong. That’s one of the best parts
about programming—there’s always more than one way to do something.

In a Nutshell
At the beginning of each chapter, I summarize what it contains. These sections are designed to do the
following:
 Summarize the chapter to come.
 Show enough of the chapter so that an experienced programmer can know if they already know
enough to skip the chapter or if they need to study it in depth.
 Review the chapter enough to ensure that you got what you needed to from the chapter. For
instance, imagine you’re about to take a test on C#. You can jump from chapter to chapter,
reading the In a Nutshell sections, and anything it describes that you didn’t already know, you can
then go into the chapter and review it.

In Depth
On occasion, there are a few topics that are not critical to your understanding of C#, but they are an
interesting topic that is related to the things you’re learning. You’ll find this information pulled out into In
Depth sections. These are never required reading, so if you’re busy, skip ahead. If you’re not too busy, I
think you’ll find this additional information interesting, and worth taking the time to read.
xxii Introduction

Glossary
As you go through this book, you’re going to learn a ton of new words and phrases. Especially if you’re
completely new to programming in general. At the back of this book is a glossary that contains the
definitions for these words. You can use this as a reference in case you forget what a word means, or as
you run into new concepts as you learn C#.

Getting the Most from This Book


For Programmers
If you are a programmer, particularly one who already knows a programming language that is related to
C# (C, C++, Java, Visual Basic .NET, etc.) learning C# is going to be relatively easy for you.

C# has a lot in common with all of these languages. In fact, it’s fair to say that all programming languages
affect and are inspired by other languages, because they evolve over time. C# looks and feels like a
combination of Java and C++, both of which have roots that go back to the C programming language.
Visual Basic .NET (VB.NET) on the other hand, looks and feels quite different from C# (it’s based on Visual
Basic, and Basic before that) but because both C# and VB.NET are designed and built for the .NET
Platform, they have many of the same features, and there’s almost a one-to-one correspondence between
features and keywords.
Because C# is so closely tied to these other languages, and knowing that many people may already know
something about these other languages, you’ll see me point out how C# compares to these other
languages from time to time.

If you already know a lot about programming, you’re going to be able to move quickly through this book,
especially the beginning, where you may find very few differences from languages you already know. To
speed the process along, read the In a Nutshell section at the start of the chapter. If you feel like you
already know everything it describes, it’s probably safe to skip to the next chapter.
I want to mention a couple of chapters that might be a little dangerous to skip. Chapter 6 introduces the
C# type system, including a few concepts that are key to building types throughout the book. Also,
Chapter 16 is sort of a continuation on the type system, describing value and reference types. It’s
important to understand the topics covered in those chapters. Those chapters cover some of the
fundamental ways that C# is different from these other languages, so don’t skip them.

For Busy People


One of the best parts about this book is that you don’t need to read it all. Yes, that’s right. It’s not all
mandatory reading to get started with C#. You could easily get away with only reading a part of this book,
and still understand C#. In fact, not only understand it, but be able to make just about any program you
can dream up. This is especially true if you already know a similar programming language.

At a minimum, you should start at the beginning and read through Chapter 20. That covers the basics of
programming, all the way up to and including an introduction to making your own classes. (And if you’re
already a programmer, you should be able to fly through those introductory chapters quickly.)
The rest of the book could theoretically be skipped, though if you try to use someone else’s code, you’re
probably going to be in for some surprises.

Once you’ve gone through those 20 chapters, you can then come back and read the rest of the book in
more or less any order that you want, as you have extra time.

For Beginners
If you’ve never done any programming before, be warned: learning a programming language can be hard
work. The concepts in the first 20 chapters of this book are the most important to understand. Take
I Genuinely Want Your Feedback xxiii

whatever time is necessary to really feel like you understand what you’re seeing in these chapters. This
gets you all of the basics, and gets you up to a point where you can make your own types using classes.
Like with the For Busy People section above, Chapter 20 is the critical point that you’ve got to get to, in
order to really understand C#. At that point, you can probably make any program that you can think of,
though the rest of the book will cover additional tools and tricks that will allow you to do this more easily
and more efficiently.
After reading through these chapters, skim through the rest of the book, so that you’re aware of what else
C# has. That’s an important step if you’re a beginner. It will familiarize you with what C# has to offer, and
when you either see it in someone else’s code or have a need for it, you’ll know exactly where to come
back to. A lot of these additional details will make the most sense when you have an actual need for it in a
program of your own creation. After a few weeks or a few months, when you’ve had a chance to make
some programs on your own, come back and go through the rest of the book in depth.

I Genuinely Want Your Feedback


Writing a book is a huge task, and no one has ever finished a huge task perfectly. There’s the possibility of
mistakes, plenty of chances to inadvertently leave you confused, or leaving out important details. I was
tempted to keep this book safe on my hard drive, and never give it out to the world, because then those
limitations wouldn’t matter. But alas, my wife wouldn’t let me follow Gandalf’s advice and “keep it secret;
keep it safe,” and so now here it is in your hands.

If you ever find any problems with this book, big or small, or if you have any suggestions for improving it,
I’d really like to know. After all, books are a lot like software, and there’s always the opportunity for future
versions that improve upon the current one. Also, if you have positive things to say about the book, I’d
love to hear about that too. There’s nothing quite like hearing that your hard work has helped somebody.
To give feedback of any kind, please visit starboundsoftware.com/books/c-sharp/feedback.

This Book Comes with Online Content


On my website, I have a small amount of additional content that you might find useful. For starters, as
people submit feedback, like I described in the last section, I will post corrections and clarifications as
needed on this book’s errata page: starboundsoftware.com/books/c-sharp/errata.

Also on my site, I will post my own answers for all of the Try It Out! sections found throughout this book. If
you get stuck, or just want something to compare your answers with, you can visit this book’s site and see
a solution. To see these answers, go to: starboundsoftware.com/books/c-sharp/try-it-out/.
The website also contains some extra problems to work on, beyond the ones contained in this book. I’ve
been frequently asked to add more problems to the book than what it currently has. Indeed, this version
contains more than any previous version. But at the same time, most people don’t actually do these
problems. To avoid drowning out the actual content with more and more problems, I’ve provided
additional problems on the website. This felt like a good compromise. These can be found at
starboundsoftware.com/books/c-sharp/additional-problems.

Additional information or resources may be found at starboundsoftware.com/books/c-sharp.


Part 1
Getting Started
The world of C# programming lies in front of you, waiting to be explored. In Part 1 of this book, within
just a few short chapters, we’ll do the following:
 Get a quick introduction to what C# is (Chapter 1).
 Get set up to start making C# programs (Chapter 2).
 Write our first program (Chapter 3).
 Dig into the fundamental parts of C# programming (Chapters 3 and 4).

1
1 The C# Programming
Language

In a Nutshell
 Describes the general idea of programming, and goes into more details about why C# is a
good language.
 Describes the core of what the .NET Platform is.
 Gives some history on the C# programming language for context.

I’m going to start off this book with a very brief introduction to C#. If you’re already a programmer, and
you’ve read the Wikipedia pages on C# and the .NET Framework, skip ahead to the next chapter.

On the other hand, if you’re new to programming in general, or you’re still a little vague on what exactly
C# or the .NET Platform is, then this is the place for you.
I should point out that we’ll get into a lot of detail about how the .NET Platform functions, and what it
gives you as a programmer in Chapter 44. This chapter just provides a quick overview of the basics.

What is C#?
Computers only understand binary: 1’s and 0’s. All of the information they keep track of is ultimately
nothing more than a glorified pile of bits. All of the instructions they run and all of the data they process
are binary.

But humans are notoriously bad at doing anything with a giant pile of 1’s and 0’s. So rather than doing
that, we created programming languages, which are based on human languages (usually English) and
structured in a way that allows you to give instructions to the computer. These instructions are called
source code, and are simple text files.
When the time is right, your source code will be handed off to a special program called a compiler, which
is able to take it and turn it into the binary 1’s and 0’s that the computer understands, typically in the form
4 Chapter 1 The C# Programming Language

of an EXE file. In this sense, you can think of the compiler as a translator from your source code to the
binary machine instructions that the computer knows.

There are thousands, maybe tens of thousands of programming languages, each good at certain things,
and less good at other things. C# is one of the most popular. C# is a simple general-purpose
programming language, meaning you can use it to create pretty much anything, including desktop
applications, server-side code for websites, and even video games.
C# provides an excellent balance between ease of use and power. There are other languages that provide
less power and are easier to use (like Java) and others that provide more power, giving up some of its
simplicity (like C++). Because of the balance it strikes, it is the perfect language for nearly everything that
you will want to do, so it’s a great language to learn, whether it’s your first or your tenth.

What is the .NET Platform?


C# relies heavily on something called the .NET Platform. It is also commonly also called the .NET
Framework, though we’ll make a subtle distinction between the two later on. The .NET Platform is a large
and powerful platform, which we’ll discuss in detail in Chapter 44. You can go read it as soon as you’re
done with this chapter, if you want.

The .NET Platform is vast, with many components, but two stand out as the most central. The first part is
the Common Language Runtime, often abbreviated as the CLR. The CLR is a software program that takes
your compiled C# code and runs it. When you launch your EXE file, the CLR will start up and begin taking
your code and translating it into the optimal binary instructions for the physical computer that it is
running on, and your code comes to life.

In this sense, the CLR is a middle-man between your code and the physical computer. This type of
program is called a virtual machine. We’ll get into more of the specifics in Chapter 44. For now, it’s only
important to know that the .NET Platform itself, specifically the CLR runtime, play a key role in running
your application—and in making it so your application can run on a wide variety of computer
architectures and operating systems.
The second major component of the .NET Platform is the .NET Standard Library. The Standard Library is
frequently called the Base Class Library. The Standard Library is a massive collection of code that you can
reuse within your own programs to accelerate the development of whatever you are working on. We will
cover some of the most important things in the Standard Library in this book, but it is huge, and deserves
a book of its own. More detail on the Standard Library and the Base Class Library can be found in Chapter
44.

Built on top of the .NET Standard Library is a collection of app models. An app model is another large
library designed for a specific type of application. This includes things like WPF and Windows Forms for
GUI applications, ASP.NET for web development, and Xamarin for iOS and Android development. Game
frameworks or engines like MonoGame and Unity could also be considered app models, though these are
not maintained directly by Microsoft.

This book, unfortunately, doesn’t cover these app models to any serious extent. There are two reasons for
this. Each app model is gigantic. You could write multiple books about each of these app models (and
indeed, there are many books out there). Trying to pack them all into this book would make it a 5000 page
book.
Second, the app models are, true to their name, specific to a certain type of application. This means that
the things that are important to somebody doing desktop development are going to be wildly different
from somebody doing web development. This book focuses on the C# language itself, and the aspects of
C# and .NET Versions 5

the .NET Platform that are useful to everybody. Once you’ve finished this book, you could then proceed on
to other books that focus on specific app models. (Those books all generally assume you know C#
anyway.)
We will cover how the .NET Platform is organized and how it functions in depth in Chapter 44.

C# and .NET Versions


C# has gone through quite a bit of evolution over its history. The first release was in 2002, and established
the bulk of the language features C# still has today.
A little over a year later, in 2003, C# 2.0 was released, adding in a lot of other big and powerful features,
most of which will get quite a bit of attention in this book (generics, nullable types, delegates, static
classes, etc.)
C# 3.0 expanded the language in a couple of very specific directions: LINQ and lambdas, both of which get
their own chapters in this book.
The next two releases were somewhat smaller. C# 4.0 added dynamic typing, as well as named and
optional method arguments. C# 5.0 added greatly expanded support for asynchronous programming.
In the C# 5 era, a new C# compiler was introduced: Roslyn. This compiler has a number of notable
features: it’s open source, it’s written in C# (written in the language it’s for), and it is available while your
program is running (so you can compile additional code dynamically). Something about its construction
also allows for people to more easily tweak and experiment with new features, which led to the features
added in C# 6.0 and 7.0.
C# 6.0 and 7.0 added a whole slew of little additions and tweaks across the language. While previous
updates to the language could usually be summed up in a single bullet point or two, and are given their
own chapters in this book, the new features in C# 6.0 and 7.0 are small and numerous. I try to point out
what these new features are throughout this book, so that you are aware of them.

Alongside the C# language itself, both Visual Studio and the Standard Library have both been evolving
and growing. This book has been updated to work with Visual Studio 2017 and C# 7.0 at the time of
publishing.

Future versions will, of course, arrive before long. Based on past experience, it’s a safe bet that everything
you learn in this book will still apply in future versions.
2
2 Installing Visual Studio

In a Nutshell
 To program in C#, we will need a program that allows us to write C# code and run it. That
program is Microsoft Visual Studio.
 A variety of versions of Visual Studio exists, including the free Community Edition, as well as
several higher tiers that offer additional features at a cost.
 You do not need to spend money to make C# programs.
 This chapter walks you through the various versions of Visual Studio to help you decide which
one to use, but as you are getting started, you should consider the free Visual Studio 2017
Community Edition.

To make your own programs, people usually use a program called an Integrated Development Environment
(IDE). An IDE combines all of the tools you will commonly need to make software, including a special text
editor designed for editing source code files, a compiler, and other various tools to help you manage the
files in your project.

With C#, nearly everyone chooses to use some variation of Visual Studio, made by Microsoft. There are a
few different levels of Visual Studio, ranging from the free Community Edition, to the high-end Enterprise
Edition. In this chapter, I’ll guide you through the process of determining which one to choose.

As of the time of publication of this book, the latest version is the 2017 family. There will inevitably be
future releases, but the bulk of what’s described in this book should still largely apply in future versions.
While new features have been added over time, the fundamentals of Visual Studio have remained the
same for a very long time now.
There are three main flavors of Visual Studio 2017. Our first stop will be to look at the differences among
these, and I’ll point out one that is most likely your best choice, getting started. (It’s free, don’t worry!) I’ll
then tell you how to download Visual Studio and a little about the installation process. By the end of this
chapter, you’ll be up and running, ready to start doing some C# programming!
Another Random Scribd Document
with Unrelated Content
desquels passait la levée récemment construite par Louis XI entre
Tours et le Plessis. De ce côté, des chiens défendaient l’accès du
logis qu’une grande cour séparait à l’est, des maisons voisines, et
qui à l’ouest se trouvait adossé au logis de maître Cornélius. La
façade de la rue avait l’exposition du midi. Isolé de trois côtés, l’hôtel
du défiant et rusé seigneur, ne pouvait donc être envahi que par les
habitants de la maison brabançonne dont les combles et les
chéneaux de pierre se mariaient à ceux de l’hôtel de Poitiers. Sur la
rue, les fenêtres étroites et découpées dans la pierre, étaient garnies
de barreaux en fer; puis la porte, basse et voûtée comme le guichet
de nos plus vieilles prisons, avait une solidité à toute épreuve. Un
banc de pierre, qui servait de montoir, se trouvait près du porche. En
voyant le profil des logis occupés par maître Cornélius et par le
comte de Poitiers, il était facile de croire que les deux maisons
avaient été bâties par le même architecte, et destinées à des tyrans.
Toutes deux d’aspect sinistre, ressemblaient à de petites
forteresses, et pouvaient être longtemps défendues avec avantage
contre une populace furieuse. Leurs angles étaient protégés par des
tourelles semblables à celles que les amateurs d’antiquités
remarquent dans certaines villes où le marteau des démolisseurs n’a
pas encore pénétré. Les baies, qui avaient peu de largeur,
permettaient de donner une force de résistance prodigieuse aux
volets ferrés et aux portes. Les émeutes et les guerres civiles, si
fréquentes en ces temps de discorde, justifiaient amplement toutes
ces précautions.
Lorsque six heures sonnèrent au clocher de l’abbaye Saint-
Martin, l’amoureux de la comtesse passa devant l’hôtel de Poitiers,
s’y arrêta pendant un moment, et entendit dans la salle basse le
bruit que faisaient les gens du comte en soupant. Après avoir jeté un
regard sur la chambre où il présumait que devait être sa dame, il alla
vers la porte du logis voisin. Partout, sur son chemin, le jeune
seigneur avait entendu les joyeux accents des repas faits dans les
maisons de la ville, en l’honneur de la fête. Toutes les fenêtres mal
jointes laissaient passer des rayons de lumière, les cheminées
fumaient, et la bonne odeur des rôtisseries égayait les rues. L’office
achevé, la ville entière se rigolait, et poussait des murmures que
l’imagination comprend mieux que la parole ne les peint. Mais, en
cet endroit, régnait un profond silence, car dans ces deux logis
vivaient deux passions qui ne se réjouissent jamais. Au delà les
campagnes se taisaient; puis là, sous l’ombre des clochers de
l’abbaye Saint-Martin, ces deux maisons muettes aussi, séparées
des autres et situées dans le bout le plus tortueux de la rue,
ressemblaient à une léproserie. Le logis qui leur faisait face,
appartenant à des criminels d’État, était sous le séquestre. Un jeune
homme devait être facilement impressionné par ce subit contraste.
Aussi, sur le point de se lancer dans une entreprise horriblement
hasardeuse, le gentilhomme resta-t-il pensif devant la maison du
Lombard en se rappelant tous les contes que fournissait la vie de
maître Cornélius et qui avaient causé le singulier effroi de la
comtesse. A cette époque, un homme de guerre, et même un
amoureux, tout tremblait au mot de magie. Il se rencontrait alors peu
d’imaginations incrédules pour les faits bizarres, ou froides aux récits
merveilleux. L’amant de la comtesse de Saint-Vallier, une des filles
que Louis XI avait eues de madame de Sassenage, en Dauphiné,
quelque hardi qu’il pût être, devait y regarder à deux fois au moment
d’entrer dans une maison ensorcelée.
L’histoire de maître Cornélius Hoogworst expliquera
complétement la sécurité que le Lombard avait inspirée au sire de
Saint-Vallier, la terreur manifestée par la comtesse, et l’hésitation qui
arrêtait l’amant. Mais, pour faire comprendre entièrement à des
lecteurs du dix-neuvième siècle comment des événements assez
vulgaires en apparence étaient devenus surnaturels, et pour leur
faire partager les frayeurs du vieux temps, il est nécessaire
d’interrompre cette histoire pour jeter un rapide coup d’œil sur les
aventures de maître Cornélius.
Cornélius Hoogworst, l’un des plus riches commerçants de Gand,
s’étant attiré l’inimitié de Charles, duc de Bourgogne, avait trouvé
asile et protection à la cour de Louis XI. Le roi sentit les avantages
qu’il pouvait tirer d’un homme lié avec les principales maisons de
Flandre, de Venise et du Levant, il anoblit, naturalisa, flatta maître
Cornélius, ce qui arrivait rarement à Louis XI. Le monarque plaisait
d’ailleurs au Flamand autant que le Flamand plaisait au monarque.
Rusés, défiants, avares; également politiques, également instruits;
supérieurs tous deux à leur époque, tous deux se comprenaient à
merveille; ils quittaient et reprenaient avec une même facilité, l’un sa
conscience, l’autre sa dévotion; ils aimaient la même vierge, l’un par
conviction, l’autre par flatterie; enfin, s’il fallait en croire les propos
jaloux d’Olivier le Daim et de Tristan, le roi allait se divertir dans la
maison du Lombard, comme se divertissait Louis XI. L’histoire a pris
soin de nous transmettre les goûts licencieux de ce monarque
auquel la débauche ne déplaisait pas. Le vieux Brabançon trouvait
sans doute joie et profit à se prêter aux capricieux plaisirs de son
royal client. Cornélius habitait la ville de Tours depuis neuf ans.
Pendant ces neuf années, il s’était passé chez lui des événements
extraordinaires qui l’avaient rendu l’objet de l’exécration générale.
En arrivant, il dépensa dans sa maison des sommes assez
considérables afin de mettre ses trésors en sûreté. Les inventions
que les serruriers de la ville exécutèrent secrètement pour lui, les
précautions bizarres qu’il avait prises pour les amener dans son
logis de manière à s’assurer forcément de leur discrétion, furent
pendant longtemps le sujet de mille contes merveilleux qui
charmèrent les veillées de Touraine. Les singuliers artifices du
vieillard le faisaient supposer possesseur de richesses orientales.
Aussi les narrateurs de ce pays, la patrie du conte en France,
bâtissaient-ils des chambres d’or et de pierreries chez le Flamand,
sans manquer d’attribuer à des pactes magiques la source de cette
immense fortune. Maître Cornélius avait amené jadis avec lui deux
valets flamands, une vieille femme, plus un jeune apprenti de figure
douce et prévenante; ce jeune homme lui servait de secrétaire, de
caissier, de factotum et de courrier. Dans la première année de son
établissement à Tours, un vol considérable eut lieu chez lui. Les
enquêtes judiciaires prouvèrent que le crime avait été commis par un
habitant de la maison. Le vieil avare fit mettre en prison ses deux
valets et son commis. Le jeune homme était faible, il périt dans les
souffrances de la question, tout en protestant de son innocence. Les
deux valets avouèrent le crime pour éviter les tortures; mais quand
le juge leur demanda où se trouvaient les sommes volées, ils
gardèrent le silence, furent réappliqués à la question, jugés,
condamnés, et pendus. En allant à l’échafaud, ils persistèrent à se
dire innocents, suivant l’habitude de tous les pendus. La ville de
Tours s’entretint longtemps de cette singulière affaire. Les criminels
étaient des Flamands, l’intérêt que ces malheureux et que le jeune
commis avaient excité s’évanouit donc promptement. En ce temps-là
les guerres et les séditions fournissaient des émotions perpétuelles,
et le drame du jour faisait pâlir celui de la veille. Plus chagrin de la
perte énorme qu’il avait éprouvée que de la mort de ses trois
domestiques, maître Cornélius resta seul avec la vieille flamande qui
était sa sœur. Il obtint du roi la faveur de se servir des courriers de
l’État pour ses affaires particulières, mit ses mules chez un muletier
du voisinage, et vécut, dès ce moment, dans la plus profonde
solitude, ne voyant guère que le roi, faisant son commerce par le
canal des juifs, habiles calculateurs, qui le servaient fidèlement, afin
d’obtenir sa toute-puissante protection.
Quelque temps après cette aventure, le roi procura lui-même à
son vieux torçonnier un jeune orphelin, auquel il portait beaucoup
d’intérêt. Louis XI appelait familièrement maître Cornélius de ce
vieux nom, qui sous le règne de saint Louis, signifiait un usurier, un
collecteur d’impôts, un homme qui pressurait le monde par des
moyens violents. L’épithète tortionnaire, restée au Palais, explique
assez bien le mot torçonnier qui se trouve souvent écrit tortionneur.
Le pauvre enfant s’adonna soigneusement aux affaires du Lombard,
sut lui plaire, et gagna ses bonnes grâces. Pendant une nuit d’hiver,
les diamants déposés entre les mains de Cornélius par le roi
d’Angleterre pour sûreté d’une somme de cent mille écus, furent
volés, et les soupçons tombèrent sur l’orphelin; Louis XI se montra
d’autant plus sévère pour lui, qu’il avait répondu de sa fidélité. Aussi
le malheureux fut-il pendu, après un interrogatoire assez
sommairement fait par le grand-prévôt. Personne n’osait aller
apprendre l’art de la banque et le change chez maître Cornélius.
Cependant deux jeunes gens de la ville, Tourangeaux pleins
d’honneur et désireux de fortune, y entrèrent successivement. Des
vols considérables coïncidèrent avec l’admission des deux jeunes
gens dans la maison du torçonnier; les circonstances de ces crimes,
la manière dont ils furent exécutés, prouvèrent clairement que les
voleurs avaient des intelligences secrètes avec les habitants du
logis; il fut impossible de ne pas en accuser les nouveaux venus.
Devenu de plus en plus soupçonneux et vindicatif, le Brabançon
déféra sur-le-champ la connaissance de ce fait à Louis XI, qui
chargea son grand-prévôt de ces affaires. Chaque procès fut
promptement instruit, et plus promptement terminé. Le patriotisme
des Tourangeaux donna secrètement tort à la promptitude de
Tristan. Coupables ou non, les deux jeunes gens passèrent pour des
victimes, et Cornélius pour un bourreau. Les deux familles en deuil
étaient estimées, leurs plaintes furent écoutées; et, de conjectures
en conjectures, elles parvinrent à faire croire à l’innocence de tous
ceux que l’argentier du roi avait envoyés à la potence. Les uns
prétendaient que le cruel avare imitait le roi, qu’il essayait de mettre
la terreur et les gibets entre le monde et lui; qu’il n’avait jamais été
volé; que ces tristes exécutions étaient le résultat d’un froid calcul, et
qu’il voulait être sans crainte pour ses trésors. Le premier effet de
ces rumeurs populaires fut d’isoler Cornélius; les Tourangeaux le
traitèrent comme un pestiféré, l’appelèrent le tortionnaire, et
nommèrent son logis la Malemaison. Quand même le Lombard
aurait pu trouver des étrangers assez hardis pour entrer chez lui,
tous les habitants de la ville les en eussent empêchés par leurs
dires. L’opinion la plus favorable à maître Cornélius était celle des
gens qui le regardaient comme un homme funeste. Il inspirait aux
uns une terreur instinctive; aux autres, il imprimait ce respect
profond que l’on porte à un pouvoir sans bornes ou à l’argent; pour
plusieurs personnes, il avait l’attrait du mystère. Son genre de vie, sa
physionomie et la faveur du roi justifiaient tous les contes dont il était
devenu le sujet. Cornélius voyageait assez souvent en pays
étrangers, depuis la mort de son persécuteur le duc de Bourgogne;
or, pendant son absence, le roi faisait garder le logis du banquier par
des hommes de sa compagnie écossaise. Cette royale sollicitude
faisait présumer aux courtisans que le vieillard avait légué sa fortune
à Louis XI. Le torçonnier sortait très-peu, les seigneurs de la cour lui
rendaient de fréquentes visites; il leur prêtait assez libéralement de
l’argent, mais il était fantasque: à certains jours il ne leur aurait pas
donné un sou parisis; le lendemain, il leur offrait des sommes
immenses, moyennant toutefois un bon intérêt et de grandes
sûretés. Bon catholique d’ailleurs, il allait régulièrement aux offices,
mais il venait à Saint-Martin de très-bonne heure; et comme il y avait
acheté une chapelle à perpétuité, là, comme ailleurs, il était séparé
des autres chrétiens. Enfin un proverbe populaire de cette époque,
et qui subsista longtemps à Tours, était cette phrase:—Vous avez
passé devant le Lombard, il vous arrivera malheur.—Vous avez
passé devant le Lombard expliquait les maux soudains, les
tristesses involontaires et les mauvaises chances de fortune. Même
à la cour, on attribuait à Cornélius cette fatale influence que les
superstitions italienne, espagnole et asiatique, ont nommée le
mauvais œil. Sans le pouvoir terrible de Louis XI qui s’était étendu
comme un manteau sur cette maison, à la moindre occasion le
peuple eût démoli la Malemaison de la rue du Mûrier. Et c’était
pourtant chez Cornélius que les premiers mûriers plantés à Tours
avaient été mis en terre; et les Tourangeaux le regardèrent alors
comme un bon génie. Comptez donc sur la faveur populaire!
Quelques seigneurs ayant rencontré maître Cornélius hors de
France, furent surpris de sa bonne humeur. A Tours, il était toujours
sombre et rêveur; mais il y revenait toujours. Une inexplicable
puissance le ramenait à sa noire maison de la rue du Mûrier.
Semblable au colimaçon dont la vie est si fortement unie à celle de
sa coquille, il avouait au roi qu’il ne se trouvait bien que sous les
pierres vermiculées et sous les verrous de sa petite bastille, tout en
sachant que, Louis XI mort, ce lieu serait pour lui le plus dangereux
de la terre.
—Le diable s’amuse aux dépens de notre compère le torçonnier,
dit Louis XI à son barbier quelques jours avant la fête de la
Toussaint. Il se plaint encore d’avoir été volé. Mais il ne peut plus
pendre personne, à moins qu’il ne se pende lui-même. Ce vieux
truand n’est-il pas venu me demander si je n’avais pas emporté hier
par mégarde une chaîne de rubis qu’il voulait me vendre? Pasques
Dieu! je ne vole pas ce que je puis prendre, lui ai-je dit.—Et il a eu
peur? fit le barbier.—Les avares n’ont peur que d’une seule chose,
répondit le roi. Mon compère le torçonnier sait bien que je ne le
dépouillerai pas sans raison, autrement je serais injuste, et je n’ai
jamais rien fait que de juste et de nécessaire.—Cependant le vieux
malandrin vous surfait, reprit le barbier.—Tu voudrais bien que ce fût
vrai, hein? dit le roi en jetant un malicieux regard au barbier.—Ventre
Mahom, sire, la succession serait belle à partager entre vous et le
diable.—Assez, fit le roi. Ne me donne pas de mauvaises idées. Mon
compère est un homme plus fidèle que tous ceux dont j’ai fait la
fortune, parce qu’il ne me doit rien, peut-être.
Depuis deux ans, maître Cornélius vivait donc seul avec sa vieille
sœur, qui passait pour sorcière. Un tailleur du voisinage prétendait
l’avoir souvent vue, pendant la nuit, attendant sur les toits l’heure
d’aller au sabbat. Ce fait semblait d’autant plus extraordinaire que le
vieil avare enfermait sa sœur dans une chambre dont les fenêtres
étaient garnies de barreaux de fer. En vieillissant, Cornélius toujours
volé, craignant toujours d’être dupé par les hommes, les avait tous
pris en haine, excepté le roi, qu’il estimait beaucoup. Il était tombé
dans une excessive misanthropie, mais comme chez la plupart des
avares, sa passion pour l’or, l’assimilation de ce métal avec sa
substance avait été de plus en plus intime, et croissait d’intensité par
l’âge. Sa sœur elle-même excitait ses soupçons, quoiqu’elle fût peut-
être plus avare et plus économe que son frère qu’elle surpassait en
inventions de ladrerie. Aussi leur existence avait-elle quelque chose
de problématique et de mystérieux. La vieille femme prenait si
rarement du pain chez le boulanger, elle apparaissait si peu au
marché, que les observateurs les moins crédules avaient fini par
attribuer à ces deux êtres bizarres la connaissance de quelque
secret de vie. Ceux qui se mêlaient d’alchimie disaient que maître
Cornélius savait faire de l’or. Les savants prétendaient qu’il avait
trouvé la panacée universelle. Cornélius était pour beaucoup de
campagnards, auxquels les gens de la ville en parlaient, un être
chimérique, et plusieurs d’entre eux venaient voir la façade de son
hôtel par curiosité.
Assis sur le banc du logis qui faisait face à celui de maître
Cornélius, le gentilhomme regardait tour à tour l’hôtel de Poitiers et
la Malemaison; la lune en bordait les saillies de sa lueur, et colorait
par des mélanges d’ombre et de lumière les creux et les reliefs de la
sculpture. Les caprices de cette lueur blanche donnaient une
physionomie sinistre à ces deux édifices; il semblait que la nature
elle-même se prêtât aux superstitions qui planaient sur cette
demeure. Le jeune homme se rappela successivement toutes les
traditions qui rendaient Cornélius un personnage tout à la fois
curieux et redoutable. Quoique décidé par la violence de son amour
à entrer dans cette maison, à y demeurer le temps nécessaire pour
l’accomplissement de ses projets, il hésitait à risquer cette dernière
démarche, tout en sachant qu’il allait la faire. Mais qui, dans les
crises de sa vie, n’aime pas à écouter les pressentiments, à se
balancer sur les abîmes de l’avenir? En amant digne d’aimer, le
jeune homme craignait de mourir sans avoir été reçu à merci
d’amour par la comtesse. Cette délibération secrète était si
cruellement intéressante, qu’il ne sentait pas le froid sifflant dans ses
jambes et sur les saillies des maisons. En entrant chez Cornélius, il
devait se dépouiller de son nom, de même qu’il avait déjà quitté ses
beaux vêtements de noble. Il lui était interdit, en cas de malheur, de
réclamer les priviléges de sa naissance ou la protection de ses amis,
à moins de perdre sans retour la comtesse de Saint-Vallier. S’il
soupçonnait la visite nocturne d’un amant, ce vieux seigneur était
capable de la faire périr à petit feu dans une cage de fer, de la tuer
tous les jours au fond de quelque château fort. En regardant les
vêtements misérables sous lesquels il s’était déguisé, le
gentilhomme eut honte de lui-même. A voir sa ceinture de cuir noir,
ses gros souliers, ses chausses drapées, son haut-de-chausses de
tiretaine et son justaucorps de laine grise, il ressemblait au clerc du
plus pauvre sergent de justice. Pour un noble du quinzième siècle,
c’était déjà la mort que de jouer le rôle d’un bourgeois sans sou ni
maille, et de renoncer aux priviléges du rang. Mais grimper sur le toit
de l’hôtel où pleurait sa maîtresse, descendre par la cheminée ou
courir sur les galeries, et, de gouttière en gouttière, parvenir jusqu’à
la fenêtre de sa chambre; risquer sa vie pour être près d’elle sur un
coussin de soie, devant un bon feu, pendant le sommeil d’un sinistre
mari, dont les ronflements redoubleraient leur joie; défier le ciel et la
terre en se donnant le plus audacieux de tous les baisers; ne pas
dire une parole qui ne pût être suivie de la mort, ou, tout au moins,
d’un sanglant combat; toutes ces voluptueuses images et les
romanesques dangers de cette entreprise décidèrent le jeune
homme. Plus léger devait être le prix de ses soins, ne pût-il même
que baiser encore une fois la main de la comtesse, plus
promptement il se résolut à tout tenter, poussé par l’esprit
chevaleresque et passionné de cette époque. Puis, il ne supposa
point que la comtesse osât lui refuser le plus doux plaisir de l’amour
au milieu de dangers si mortels. Cette aventure était trop périlleuse,
trop impossible pour n’être pas achevée.
En ce moment, toutes les cloches de la ville sonnèrent l’heure du
couvre-feu, loi tombée en désuétude, mais dont l’observance
subsistait dans les provinces où tout s’abolit lentement. Quoique les
lumières ne s’éteignissent pas, les chefs de quartier firent tendre les
chaînes des rues. Beaucoup de portes se fermèrent, les pas de
quelques bourgeois attardés, marchant en troupe avec leurs valets
armés jusqu’aux dents et portant des falots, retentirent dans le
lointain; puis, bientôt, la ville en quelque sorte garrottée parut
s’endormir, et ne craignit plus les attaques des malfaiteurs que par
ses toits. A cette époque, les combles des maisons étaient une voie
très-fréquentée pendant la nuit. Les rues avaient si peu de largeur
en province et même à Paris, que les voleurs sautaient d’un bord à
l’autre. Ce périlleux métier servit longtemps de divertissement au roi
Charles IX dans sa jeunesse, s’il faut en croire les mémoires du
temps. Craignant de se présenter trop tard à maître Cornélius, le
gentilhomme allait quitter sa place pour heurter à la porte de la
Malemaison, lorsqu’en la regardant, son attention fut excitée par une
sorte de vision que les écrivains du temps eussent appelée cornue.
Il se frotta les yeux comme pour s’éclaircir la vue, et mille sentiments
divers passèrent dans son âme à cet aspect. De chaque côté de
cette porte se trouvait une figure encadrée entre les deux barreaux
d’une espèce de meurtrière. Il avait pris d’abord ces deux visages
pour des masques grotesques sculptés dans la pierre, tant ils étaient
ridés, anguleux, contournés, saillants, immobiles, de couleur tannée,
c’est-à-dire bruns; mais le froid et la lueur de la lune lui permirent de
distinguer le léger nuage blanc que la respiration faisait sortir des
deux nez violâtres; puis, il finit par voir, dans chaque figure creuse,
sous l’ombre des sourcils, deux yeux d’un bleu faïence qui jetaient
un feu clair, et ressemblaient à ceux d’un loup couché dans la
feuillée, qui croit entendre les cris d’une meute. La lueur inquiète de
ces yeux était dirigée sur lui si fixement, qu’après l’avoir reçue
pendant le moment où il examina ce singulier spectacle, il se trouva
comme un oiseau surpris par des chiens à l’arrêt, il se fit dans son
âme un mouvement fébrile, promptement réprimé. Ces deux
visages, tendus et soupçonneux, étaient sans doute ceux de
Cornélius et de sa sœur. Alors le gentilhomme feignit de regarder où
il était, de chercher à distinguer un logis indiqué sur une carte qu’il
tira de sa poche en essayant de la lire aux clartés de la lune; puis, il
alla droit à la porte du torçonnier, et y frappa trois coups qui
retentirent au dedans de la maison, comme si c’eût été l’entrée
d’une cave. Une faible lumière passa sous le porche, et, par une
petite grille extrêmement forte, un œil vint à briller.
—Qui va là?
—Un ami envoyé par Oosterlinck de Bruges.
—Que demandez-vous?
—A entrer.
—Votre nom?
—Philippe Goulenoire.
—Avez-vous des lettres de créance?
—Les voici!
—Passez-les par le tronc.
—Où est-il?
—A gauche.
Philippe Goulenoire jeta la lettre par la fente d’un tronc en fer, au-
dessus de laquelle se trouvait une meurtrière.
—Diable! pensa-t-il, on voit que le roi est venu ici, car il s’y trouve
autant de précautions qu’il en a pris au Plessis!
Il attendit environ un quart d’heure dans la rue. Ce laps de temps
écoulé, il entendit Cornélius qui disait à sa sœur:—Ferme les
chausse-trappes de la porte.
Un cliquetis de chaînes et de fer retentit sous le portail. Philippe
entendit les verrous aller, les serrures gronder; enfin une petite porte
basse, garnie de fer s’ouvrit de manière à décrire l’angle le plus aigu
par lequel un homme mince pût passer. Au risque de déchirer ses
vêtements, Philippe se glissa plutôt qu’il n’entra dans la Malemaison.
Une vieille fille édentée, à visage de rebec, dont les sourcils
ressemblaient à deux anses de chaudron, qui n’aurait pas pu mettre
une noisette entre son nez et son menton crochu; fille pâle et hâve,
creusée des tempes et qui semblait être composée seulement d’os
et de nerfs, guida silencieusement le soi-disant étranger dans une
salle basse, tandis que Cornélius le suivait prudemment par derrière.
—Asseyez-vous là, dit-elle à Philippe en lui montrant un
escabeau à trois pieds placé au coin d’une grande cheminée en
pierre sculptée dont l’âtre propre n’avait pas de feu.
De l’autre côté de cette cheminée, était une table de noyer à
pieds contournés, sur laquelle se trouvait un œuf dans une assiette,
et dix ou douze petites mouillettes dures et sèches, coupées avec
une studieuse parcimonie. Deux escabelles, sur l’une desquelles
s’assit la vieille, annonçaient que les avares étaient en train de
souper. Cornélius alla pousser deux volets de fer pour fermer sans
doute les judas par lesquels il avait regardé si longtemps dans la
rue, et vint reprendre sa place. Le prétendu Philippe Goulenoire vit
alors le frère et la sœur trempant dans cet œuf, à tour de rôle, avec
gravité, mais avec la même précision que les soldats mettent à
plonger en temps égaux la cuiller dans la gamelle, leurs mouillettes
respectives qu’ils teignaient à peine, afin de combiner la durée de
l’œuf avec le nombre des mouillettes. Ce manége se faisait en
silence. Tout en mangeant, Cornélius examinait le faux novice avec
autant de sollicitude et de perspicacité que s’il eût pesé de vieux
besans. Philippe, sentant un manteau de glace tomber sur ses
épaules, était tenté de regarder autour de lui; mais avec l’astuce que
donne une entreprise amoureuse, il se garda bien de jeter un coup
d’œil, même furtif, sur les murs; car il comprit que si Cornélius le
surprenait, il ne garderait pas un curieux en son logis. Donc, il se
contentait de tenir modestement son regard tantôt sur l’œuf, tantôt
sur la vieille fille; et, parfois, il contemplait son futur maître.
L’argentier de Louis XI ressemblait à ce monarque, il en avait
même pris certains gestes, comme il arrive assez souvent aux gens
qui vivent ensemble dans une sorte d’intimité. Les sourcils épais du
Flamand lui couvraient presque les yeux; mais, en les relevant un
peu, il lançait un regard lucide, pénétrant et plein de puissance, le
regard des hommes habitués au silence et auxquels le phénomène
de la concentration des forces intérieures est devenu familier. Ses
lèvres minces, à rides verticales, lui donnaient un air de finesse
incroyable. La partie inférieure du visage avait de vagues
ressemblances avec le museau des renards; mais le front haut,
bombé, tout plissé semblait révéler de grandes et de belles qualités,
une noblesse d’âme dont l’essor avait été modéré par l’expérience,
et que les cruels enseignements de la vie refoulaient sans doute
dans les replis les plus cachés de cet être singulier. Ce n’était certes
pas un avare ordinaire, et sa passion cachait sans doute de
profondes jouissances, de secrètes conceptions.
—A quel taux se font les sequins de Venise? demanda-t-il
brusquement à son futur apprenti.
—Trois quarts, à Bruges; un à Gand.
—Quel est le fret sur l’Escaut?
—Trois sous parisis.
—Il n’y a rien de nouveau à Gand?
—Le frère de Liéven-d’Herde est ruiné.
—Ah!
Après avoir laissé échapper cette exclamation, le vieillard se
couvrit les genoux avec un pan de sa dalmatique, espèce de robe en
velours noir, ouverte par devant, à grandes manches et sans collet,
dont la somptueuse étoffe était miroitée. Ce reste du magnifique
costume qu’il portait jadis comme président du tribunal des
Parchons, fonctions qui lui avaient valu l’inimitié du duc de
Bourgogne, n’était plus alors qu’un haillon. Philippe n’avait point
froid, il suait dans son harnais en tremblant d’avoir à subir d’autres
questions. Jusque-là les instructions sommaires qu’un juif auquel il
avait sauvé la vie venait de lui donner la veille, suffisaient grâce à sa
mémoire et à la parfaite connaissance que le juif possédait des
manières et des habitudes de Cornélius. Mais le gentilhomme qui,
dans le premier feu de la conception, n’avait douté de rien,
commençait à entrevoir toutes les difficultés de son entreprise. La
gravité solennelle, le sang-froid du terrible Flamand, agissaient sur
lui. Puis, il se sentait sous les verrous, et voyait toutes les cordes du
grand-prévôt aux ordres de maître Cornélius.
—Avez-vous soupé? demanda l’argentier d’un ton qui signifiait:
Ne soupez pas!
Malgré l’accent de son frère, la vieille fille tressaillit, elle regarda
ce jeune commensal, comme pour jauger la capacité de cet estomac
qu’il lui faudrait satisfaire, et dit alors avec un faux sourire:—Vous
n’avez pas volé votre nom, vous avez des cheveux et des
moustaches plus noirs que la queue du diable!...
—J’ai soupé, répondit-il.
—Eh! bien, reprit l’avare, vous reviendrez me voir demain.
Depuis longtemps je suis habitué à me passer d’un apprenti.
D’ailleurs, la nuit me portera conseil.
—Eh! par saint Bavon, monsieur, je suis Flamand, je ne connais
personne ici, les chaînes sont tendues, je vais être mis en prison.
Cependant, ajouta-t-il effrayé de la vivacité qu’il mettait dans ses
paroles, si cela vous convient, je vais sortir.
Le juron influença singulièrement le vieux Flamand.
—Allons, allons, par saint Bavon, vous coucherez ici.
—Mais, dit la sœur effrayée.
—Tais-toi, répliqua Cornélius. Par sa lettre, Oosterlinck me
répond de ce jeune homme.
—N’avons-nous pas, lui dit-il à l’oreille en se penchant vers sa
sœur, cent mille livres à Oosterlinck? C’est une caution cela!
—Et s’il te vole les joyaux de Bavière? Tiens il ressemble mieux à
un voleur qu’à un Flamand.
—Chut, fit le vieillard en prêtant l’oreille.
Les deux avares écoutèrent. Insensiblement, et un moment
après le chut, un bruit produit par les pas de quelques hommes
retentit dans le lointain, de l’autre côté des fossés de la ville.
—C’est la ronde du Plessis, dit la sœur.
—Allons, donne-moi la clef de la chambre aux apprentis, reprit
Cornélius.
La vieille fille fit un geste pour prendre la lampe.
—Vas-tu nous laisser seuls sans lumière? cria Cornélius d’un son
de voix intelligent. Tu ne sais pas encore à ton âge te passer d’y
voir. Est-il donc si difficile de prendre cette clef?
La vieille comprit le sens caché sous ces paroles, et sortit. En
regardant cette singulière créature au moment où elle gagnait la
porte, Philippe Goulenoire put dérober à son maître le coup d’œil
qu’il jeta furtivement sur cette salle. Elle était lambrissée en chêne à
hauteur d’appui, et les murs étaient tapissés d’un cuir jaune orné
d’arabesques noires; mais ce qui le frappa le plus, fut un pistolet à
mèche, garni de son long poignard à détente. Cette arme nouvelle et
terrible se trouvait près de Cornélius.
—Comment comptez-vous gagner votre vie? lui demanda le
torçonnier.
—J’ai peu d’argent, répondit Goulenoire, mais je connais de
bonnes rubriques. Si vous voulez seulement me donner un sou sur
chaque marc que je vous ferai gagner, je serai content.
—Un sou, un sou! répéta l’avare, mais c’est beaucoup.
Là-dessus la vieille sibylle rentra.
—Viens, dit Cornélius à Philippe.
Ils sortirent sous le porche et montèrent une vis en pierre, dont la
cage ronde se trouvait à côté de la salle dans une haute tourelle. Au
premier étage le jeune homme s’arrêta.
—Nenni, dit Cornélius. Diable! ce pourpris est le gîte où le roi
prend ses ébats.
L’architecte avait pratiqué le logement de l’apprenti sous le toit
pointu de la tour où se trouvait la vis; c’était une petite chambre
ronde, tout en pierre, froide et sans ornement. Cette tour occupait le
milieu de la façade située sur la cour qui, semblable à toutes les
cours de province, était étroite et sombre. Au fond, à travers des
arcades grillées, se voyait un jardin chétif où il n’y avait que des
mûriers soignés sans doute par Cornélius. Le gentilhomme
remarqua tout par les jours de la vis, à la lueur de la lune qui jetait
heureusement une vive lumière. Un grabat, une escabelle, une
cruche et un bahut disjoint composaient l’ameublement de cette
espèce de loge. Le jour n’y venait que par de petites baies carrées,
disposées de distance en distance autour du cordon extérieur de la
tour, et qui formaient sans doute des ornements, suivant le caractère
de cette gracieuse architecture.
—Voilà votre logis, il est simple, il est solide, il renferme tout ce
qu’il faut pour dormir. Bonsoir! n’en sortez pas comme les autres.
Après avoir lancé sur son apprenti un dernier regard empreint de
mille pensées, Cornélius ferma la porte à double tour, en emporta la
clef, et descendit en laissant le gentilhomme aussi sot qu’un fondeur
de cloches qui ne trouve rien dans son moule. Seul, sans lumière,
assis sur une escabelle, et dans ce petit grenier d’où ses quatre
prédécesseurs n’étaient sortis que pour aller à l’échafaud, le
gentilhomme se vit comme une bête fauve prise dans un sac. Il
sauta sur l’escabeau, se dressa de toute sa hauteur pour atteindre
aux petites ouvertures supérieures d’où tombait un jour blanchâtre; il
aperçut la Loire, les beaux coteaux de Saint-Cyr, et les sombres
merveilles du Plessis, où brillaient deux ou trois lumières dans les
enfoncements de quelques croisées; au loin, s’étendaient les belles
campagnes de la Touraine, et les nappes argentées de son fleuve.
Les moindres accidents de cette jolie nature avaient alors une grâce
inconnue: les vitraux, les eaux, le faîte des maisons reluisaient
comme des pierreries aux clartés tremblantes de la lune. L’âme du
jeune seigneur ne put se défendre d’une émotion douce et triste.—Si
c’était un adieu! se dit-il.
Il resta là, savourant déjà les terribles émotions que son aventure
lui avait promises, et se livrant à toutes les craintes du prisonnier
quand il conserve une lueur d’espérance. Sa maîtresse
s’embellissait à chaque difficulté. Ce n’était plus une femme pour lui,
mais un être surnaturel entrevu à travers les brasiers du désir. Un
faible cri qu’il crut avoir été jeté dans l’hôtel de Poitiers le rendit à lui-
même et à sa véritable situation. En se remettant sur son grabat
pour réfléchir à cette affaire, il entendit de légers frissonnements qui
retentissaient dans la vis, il écouta fort attentivement, et alors ces
mots:—«Il se couche!» prononcés par la vieille, parvinrent à son
oreille. Par un hasard ignoré de l’architecte, le moindre bruit se
répercutait dans la chambre de l’apprenti, de sorte que le faux
Goulenoire ne perdit pas un seul des mouvements de l’avare et de
sa sœur qui l’espionnaient. Il se déshabilla, se coucha, feignit de
dormir, et employa le temps pendant lequel ses deux hôtes restèrent
en observation sur les marches de l’escalier à chercher les moyens
d’aller de sa prison dans l’hôtel de Poitiers. Vers dix heures,
Cornélius et sa sœur, persuadés que leur apprenti dormait, se
retirèrent chez eux. Le gentilhomme étudia soigneusement les bruits
sourds et lointains que firent les deux Flamands, et crut reconnaître
la situation de leurs logements; ils devaient occuper tout le second
étage. Comme dans toutes les maisons de cette époque, cet étage
était pris sur le toit d’où les croisées s’élevaient ornées de tympans
découpés par de riches sculptures. La toiture était bordée par une
espèce de balustrade qui cachait les chéneaux destinés à conduire
les eaux pluviales que des gouttières figurant des gueules de
crocodile rejetaient sur la rue. Le gentilhomme, qui avait étudié cette
topographie aussi soigneusement que l’eût fait un chat, comptait
trouver un passage de la tour au toit, et pouvoir aller chez madame
de Saint-Vallier par les chéneaux, en s’aidant d’une gouttière; mais il
ignorait que les jours de sa tourelle fussent si petits, il était
impossible d’y passer. Il résolut donc de sortir sur les toits de la
maison par la fenêtre de la vis qui éclairait le palier du second étage.
Pour accomplir ce hardi projet, il fallait sortir de sa chambre, et
Cornélius en avait pris la clef. Par précaution, le jeune seigneur
s’était armé d’un de ces poignards avec lesquels on donnait jadis le
coup de grâce dans les duels à mort, quand l’adversaire vous
suppliait de l’achever. Cette arme horrible avait un côté de la lame
affilé comme l’est celle d’un rasoir, et l’autre dentelé comme une
scie, mais dentelé en sens inverse de celui que suivait le fer en
entrant dans le corps. Le gentilhomme compta se servir du poignard
pour scier le bois de la porte autour de la serrure. Heureusement
pour lui, la gâche de la serrure était fixée en dehors par quatre
grosses vis. A l’aide du poignard, il put dévisser, non sans de
grandes peines, la gâche qui le retenait prisonnier, et posa
soigneusement les vis sur le bahut. Vers minuit, il se trouva libre et
descendit sans souliers afin de reconnaître les localités. Il ne fut pas
médiocrement étonné de voir toute grande ouverte la porte d’un
corridor par lequel on entrait dans plusieurs chambres, et au bout
duquel se trouvait une fenêtre donnant sur l’espèce de vallée formée
par les toits de l’hôtel de Poitiers et de la Malmaison qui se
réunissaient là. Rien ne pourrait expliquer sa joie, si ce n’est le vœu
qu’il fit aussitôt à la sainte Vierge de fonder à Tours une messe en
son honneur à la célèbre paroisse de l’Escrignoles. Après avoir
examiné les hautes et larges cheminées de l’hôtel de Poitiers, il
revint sur ses pas pour prendre son poignard; mais il aperçut en
frissonnant de terreur une lumière qui éclaira vivement l’escalier, et il
vit Cornélius lui-même en dalmatique, tenant sa lampe, les yeux bien
ouverts et fixés sur le corridor, à l’entrée duquel il se montra comme
un spectre.
—Ouvrir la fenêtre et sauter sur les toits, il m’entendra! se dit le
gentilhomme.
Et le terrible Cornélius avançait toujours, il avançait comme
avance l’heure de la mort pour le criminel. Dans cette extrémité,
Goulenoire, servi par l’amour, retrouva toute sa présence d’esprit; il
se jeta dans l’embrasure d’une porte, s’y serra vers le coin, et
attendit l’avare au passage. Quand le torçonnier qui tenait sa lampe
en avant, se trouva juste dans le rumb du vent que le gentilhomme
pouvait produire en soufflant, il éteignit la lumière. Cornélius
grommela de vagues paroles et un juron hollandais; mais il retourna
sur ses pas. Le gentilhomme courut alors à sa chambre, y prit son
arme, revint à la bienheureuse fenêtre, l’ouvrit doucement et sauta
sur le toit. Une fois en liberté sous le ciel, il se sentit défaillir tant il
était heureux; peut-être l’excessive agitation dans laquelle l’avait mis
le danger, ou la hardiesse de l’entreprise, causait-elle son émotion,
la victoire est souvent aussi périlleuse que le combat. Il s’accota sur
un chéneau, tressaillant d’aise et se disant:—Par quelle cheminée
dévalerai-je chez elle? Il les regardait toutes. Avec un instinct donné
par l’amour, il alla les tâter pour voir celle où il y avait eu du feu.
Quand il se fut décidé, le hardi gentilhomme planta son poignard
dans le joint de deux pierres, y accrocha son échelle, la jeta par la
bouche de la cheminée, et se hasarda sans trembler, sur la foi de sa
bonne lame, à descendre chez sa maîtresse. Il ignorait si Saint-
Vallier serait éveillé ou endormi, mais il était bien décidé à serrer la
comtesse dans ses bras, dût-il en coûter la vie à deux hommes! Il
posa doucement les pieds sur des cendres chaudes; il se baissa
plus doucement encore, et vit la comtesse assise dans un fauteuil. A
la lueur d’une lampe, pâle de bonheur, palpitante, la craintive femme
lui montra du doigt Saint-Vallier couché dans un lit à dix pas d’elle.
Croyez que leur baiser brûlant et silencieux n’eut d’écho que dans
leurs cœurs!
Le lendemain, sur les neuf heures du matin, au moment où Louis
XI sortit de sa chapelle, après avoir entendu la messe, il trouva
maître Cornélius sur son passage.
—Bonne chance, mon compère, dit-il sommairement en
redressant son bonnet.
—Sire, je paierais bien volontiers mille écus d’or pour obtenir de
vous un moment d’audience, vu que j’ai trouvé le voleur de la chaîne
de rubis et de tous les joyaux de...
—Voyons cela, dit Louis XI en sortant dans la cour du Plessis,
suivi de son argentier, de Coyctier, son médecin, d’Olivier-le-Daim,
et du capitaine de sa garde écossaise. Conte-moi ton affaire. Nous
aurons donc un pendu de ta façon. Holà! Tristan?
Le grand-prévôt, qui se promenait de long en large dans la cour,
vint à pas lents, comme un chien qui se carre dans sa fidélité. Le
groupe s’arrêta sous un arbre. Le roi s’assit sur un banc, et les
courtisans décrivirent un cercle devant lui.
—Sire, un prétendu Flamand m’a si bien entortillé, dit Cornélius.
—Il doit être bien rusé celui-là, fit Louis XI en hochant la tête.
—Oh! oui, répondit l’argentier. Mais je ne sais s’il ne vous
engluerait pas vous-même. Comment pouvais-je me défier d’un
pauvre hère qui m’était recommandé par Oosterlinck, un homme à
qui j’ai cent mille livres! Aussi, gagerais-je que le seing du juif est
contrefait. Bref, sire, ce matin je me suis trouvé dénué de ces joyaux
que vous avez admirés, tant ils étaient beaux. Ils m’ont été emblés,
sire! Embler les joyaux de l’électeur de Bavière! les truands ne
respectent rien, ils vous voleront votre royaume, si vous n’y prenez
garde. Aussitôt je suis monté dans la chambre où était cet apprenti,
qui, certes, est passé maître en volerie. Cette fois, nous ne
manquerons pas de preuves. Il a dévissé la serrure; mais quand il
est revenu, comme il n’y avait plus de lune, il n’a pas su retrouver
toutes les vis! Heureusement, en entrant, j’ai senti une vis sous mon
pied. Il dormait, le truand, il était fatigué. Figurez-vous, messieurs,
qu’il est descendu dans mon cabinet par la cheminée. Demain, ce
soir plutôt je la ferai griller. On apprend toujours quelque chose avec
les voleurs. Il a sur lui une échelle de soie, et ses vêtements portent
les traces du chemin qu’il a fait sur les toits et dans la cheminée. Il
comptait rester chez moi, me ruiner, le hardi compère! Où a-t-il
enterré les joyaux? Les gens de campagne l’ont vu de bonne heure
revenant chez moi par les toits. Il avait des complices qui
l’attendaient sur la levée que vous avez construite. Ah! sire, vous
êtes le complice des voleurs qui viennent en bateaux; et, crac, ils
emportent tout, sans laisser de traces; mais nous tenons le chef, un
hardi coquin, un gaillard qui ferait honneur à la mère d’un
gentilhomme. Ah! ce sera un beau fruit de potence, et avec un petit
bout de question, nous saurons tout! cela n’intéresse-t-il à la gloire
de votre règne? Il ne devrait point y avoir de voleurs sous un si
grand roi!
Le roi n’écoutait plus depuis longtemps. Il était tombé dans une
de ces sombres méditations qui devinrent si fréquentes pendant les
derniers jours de sa vie. Un profond silence régna.
—Cela te regarde, mon compère, dit-il enfin à Tristan, va
grabeler cette affaire.
Il se leva, fit quelques pas en avant, et ses courtisans le
laissèrent seul. Il aperçut alors Cornélius qui, monté sur sa mule,
s’en allait en compagnie du grand-prévôt:—Et les mille écus? lui dit-
il.
—Ah! sire, vous êtes un trop grand roi! il n’y a pas de somme qui
puisse payer votre justice...
Louis XI sourit. Les courtisans envièrent le franc-parler et les
priviléges du vieil argentier qui disparut promptement dans l’avenue
de mûriers plantée entre Tours et le Plessis.
Épuisé de fatigue, le gentilhomme dormait, en effet, du plus
profond sommeil. Au retour de son expédition galante, il ne s’était
plus senti, pour se défendre contre des dangers lointains ou
imaginaires auxquels il ne croyait peut-être plus, le courage et
l’ardeur avec lesquels il s’était élancé vers de périlleuses voluptés.
Aussi avait-il remis au lendemain le soin de nettoyer ses vêtements
souillés, et de faire disparaître les vestiges de son bonheur. Ce fut
une grande faute, mais à laquelle tout conspira. En effet, quand,
privé des clartés de la lune qui s’était couchée pendant la fête de
son amour, il ne trouva pas toutes les vis de la maudite serrure, il
manqua de patience. Puis, avec le laissez-aller d’un homme plein de
joie ou affamé de repos, il se lia aux bons hasards de sa destinée,
qui l’avait si heureusement servi jusque-là. Il fit bien avec lui-même
une sorte de pacte, en vertu duquel il devait se réveiller au petit jour;
mais les événements de la journée et les agitations de la nuit ne lui
permirent pas de se tenir parole à lui-même. Le bonheur est
oublieux. Cornélius ne sembla plus si redoutable au jeune seigneur
quand il se coucha sur le dur grabat d’où tant de malheureux ne
s’étaient réveillés que pour aller au supplice, et cette insouciance le
perdit. Pendant que l’argentier du roi revenait du Plessis-lès-Tours,
accompagné du grand-prévôt et de ses redoutables archers, le faux
Goulenoire était gardé par la vieille sœur, qui tricotait des bas pour
Cornélius, assise sur une des marches de la vis, sans se soucier du
froid.
Le jeune gentilhomme continuait les secrètes délices de cette
nuit si charmante, ignorant le malheur qui accourait au grand galop.
Il rêvait. Ses songes, comme tous ceux du jeune âge, étaient
empreints de couleurs si vives qu’il ne savait plus où commençait
l’illusion, où finissait la réalité. Il se voyait sur un coussin, aux pieds
de la comtesse; la tête sur ses genoux chauds d’amour, il écoutait le
récit des persécutions et les détails de la tyrannie que le comte avait
fait jusqu’alors éprouver à sa femme; il s’attendrissait avec la
comtesse, qui était en effet celle de ses filles naturelles que Louis XI

You might also like