MCSD Study Guide - Key Terms Flashcards

1
Q

assignment

A

Providing a value for a variable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Boolean

A

A value that is represented as either true or false

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

branching

A

Refers to changing code execution to a different path

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

condition

A

An evaluation of operands using logical operators

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

conditional instructions

A

Instructions that evaluate Boolean expressions and take action based on the outcome of the evaluation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

comment

A

A code line that starts with the // characters and is a way of helping to document the code so that programmers can understand what the different code segments are intended to do

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

complex statement

A

A statement that can enclose one or more simple statements into a code block surrounded by curly braces { }. Typical complex statements are those used for repetition and decision structures such as foreach { }, if { }, switch, do { }, and so on.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

constant

A

A named value that is assigned at time of declaration and cannot be changed in code later

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

declaration

A

Used to create a variable in code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

decrement

A

To decrease by a certain value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

expression

A

An activity or code statement that returns a result

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

IEnumerable

A

A code component in C# that supports iteration

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

increment

A

To increase by a certain value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

initialize

A

To set a starting value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

iterator

A

A portion of loop that changes a value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

literal

A

A notation used to indicate fixed values in code. Not the same as a constant. You cannot assign a value to a literal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

loop

A

A repetition structure that repeats instructions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

modulus

A

Returns the REMAINDER of integer division

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

operator

A

Performs an operation on values

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

program flow

A

The logical execution of code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

sentinel

A

A value used to signal the end for execution on a loop

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

simple statement

A

A statement that ends with a semicolon and is typically used for program actions such as declaring variables, assigning values to variables, method calls, and code branching.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

spaghetti code

A

A term used to describe code that is complicated to follow and understand due to branching

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

statement

A

The code construct of the C# programming language that causes the application to perform an action

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

ternary operator

A

An operator that takes three arguments, a condition, a value for true, and a value for false

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

variables

A

Named values that can be changed in code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

abstract method

A

Indicates that the thing modified has a missing or incomplete implementation. The abstract modifier can be used with classes, methods, properties, indexers, and events. Use the abstract modifier in a class declaration to indicate that a class is intended to be only a base class of other classes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

accessor methods

A

Methods used to access hidden member variables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

class files

A

File that contain a C# class. Classes encapsulate data and functionality into one unit of code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

classes

A

Coding components that enable you to create custom types that group together characteristics, methods, and events.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

constructors

A

Class methods executed when an object of a given type is created

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

data structures

A

Components in code that are used to store data within the program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

encapsulation

A

The hiding of details around the implementation of an object so there are no external dependencies on the particular implementation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

enumerations

A

A distinct type consisting of a set of named constants

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

event publisher

A

The object in code that will raise the event for the listener or subscriber

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

event subscriber

A

The object that listens for an event to be raised

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

fields

A

Variables that store characteristic data for a class

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

heap

A

An area of memory used by the .NET compiler to store reference type variables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

instance fields

A

The same as fields but are known as instance fields because they relate to an instance of an object. In other words, their values are not shared among objects of the same class

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

memory address

A

An addressable location in computer memory that is used to store and retrieve values stored there

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

methods

A

Provide the functionality for a class

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

modifiers

A

Modify declarations of types and type members

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

overloaded methods

A

Methods with identical names for procedures that operate on different data types

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

override

A

To extend or modify the abstract or virtual implementation of an inherited method, property, indexer, or event.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

properties

A

Members that provide a flexible mechanism to read, write, or compute the values of private fields

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

reference types

A

Class files or other objects represented as references to the actual data (memory addresses)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

signature

A

In this case, a method signature. It is the unique identifying components of the method such as return type, name, and parameters.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

stack

A

An area of memory used by the .NET compiler to store value types during program execution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

boxing

A

Boxing is the process of converting a value type such as int or bool into an object or an interface supported by the value’s type. This enables a program to treat a simple value as if it were an object.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

CLR

A

Common Language Runtime

Avirtual machine that manages execution of C# (and other .NET) programs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

composite format

A

A format item used by String.Format to indicate how an argument should be formatted. The basic syntax is {index[, length] [:formatString]}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

custom formatting string

A

Enable you to build formats that are not provided by the standard formatting strings

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

explicit conversion

A

In an explicit conversion, the code uses an operator (such as cast) or method (such as int.Parse) to explicity tell the program how to convert a value from one type to another

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

Immutable

A

A data type is immutable if its value cannot be changed after it has been created. The String class is immutable. String methods that seem to modify a String, such as Replace and ToUpper, actually replace the String with a new value containg the modified contents.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

Implicit Conversion

A

In an implicit conversion, the program automatically converts a value from one data type to another without any extra statements to tell it to make the conversion

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

intern pool

A

The CLR maintains a table called “intern pool” that contains a single reference to every unique string used by the program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

interoperability

A

Interoperability enables managed code (such as C# program) to use classes provided by unmanaged code that was not written under the control of the CLR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

narrowing conversion

A

A narrowing conversion is a data type conversion where the destination type
cannot hold every possible value provided by the source data type. Converting from a long to an int
is a narrowing conversion because a long can hold values such as 4,000,000,000 that cannot fit in an
int. Narrowing conversions must be explicit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

standard formatting string

A

Enables you to determine how you want a value displayed at a high level.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

unboxing

A

Unboxing is the processing of converting a boxed value back into its original value type value.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q

Unicode

A

Unicode is a standard for encoding characters used by scripts in various locales around the

world. It enables a program to display English, Chinese, Kanji, Arabic, Cyrillic, and other character
sets. The .NET Framework uses the UTF-16 encoding, which uses 16 bits to represent each character.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q

widening conversion

A

A widening conversion is a data type conversion where the destination type can hold any value provided by the source data type; although, some loss of precision may occur. For example, converting from an int to a long is a widening conversion.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

ancestor class

A

A class’s parent, the parent’s parent, and so on

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
64
Q

base class

A

A class from which another class is derived through inheritance. Also known as a parent class or superclass

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
65
Q

child class

A

A class derived from a parent class

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
66
Q

Common Language Runtime

A

CLR

A virtual machine that manages execution of C# (and other .NET) programs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
67
Q

deep clone

A

A copy of an object where reference fields refer to new instances of objects, not to the same objects referred to by the original object’s fields

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
68
Q

derive

A

To create one class based on another through inheritance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
69
Q

derived class

A

A child class derived from a parent class through inheritance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
70
Q

descendant class

A

A class’s child classes, their child classes, and so on

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
71
Q

destructor

A

A method with no return type and a name that includes the class’s name prefixed by -. The destructor is converted into a Finalize method that the GC executes before permanently destroying the object.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
72
Q

finalization

A

The process of the GC calling an object’s Finalize method

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
73
Q

finalization queue

A

A queue through which objects with finalizers must pass before being destroyed. This takes some time, so you should not give a class a finalizer (destructor) unless it needs one.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
74
Q

garbage collection

A

The process of running the GC to reclaim memory that is no longer accessible to the program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
75
Q

GC

A

garbage collector

A process that executes periodically to reclaim memory that is no longer accessible to the program

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
76
Q

inherit

A

A derived class inherits the properties, methods, events, and other code of its base class

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
77
Q

Interface Inheritance

A

Using an interface to require a class to provide certain features much as inheritance does (except the interface doesn’t provide an implementation).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
78
Q

managed resources

A

Resources that are under the control of the CLR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
79
Q

multiple inheritance

A

Allowing a child class to have more than one parent class. C# does not allow multiple inheritance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
80
Q

nondeterministic finalization

A

Because you can’t tell when the GC will call an object’s Finalize method, the process is called “nondeterministic finalization”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
81
Q

parent class

A

A bare class. Also known as a superclass

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
82
Q

reachable

A

During garbage collection, an object is reachable if the program has a path of references that let it access the object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
83
Q

shallow clone

A

A copy of an object where reference fields refer to the same objects as the original object’s fields

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
84
Q

sibling classes

A

Classes that have the same parent class

85
Q

subclass

A

A derived class

86
Q

subclassing

A

The process of deriving a subclass from a base class through inheritance

87
Q

superclass

A

A base class. Also known as a parent class

88
Q

unmanaged resources

A

Resources that are not under the control of the CLR

89
Q

unreachable

A

During garbage collection, an object is unreachable if the program has no path of references that let is access the object

90
Q

checked

A

By default, a program doesn’t throw OverflowExceptions when an arithmetic operation
causes an overflow. A program can use a checked block to make arithmetic expressions throw those
exceptions.

91
Q

contravariance

A
A feature of C# that enables a method to take parameters that are from a superclass of
the type expected by a delegate. For example, suppose the Employee class is derived from the Person
class and the EmployeeParameterDelegate type represents methods that take an Employee object as a
parameter. Then you could set an EmployeeParameterDelegate variable equal to a method that takes
a Person as a parameter because Person is a superclass of Employee. When you invoke the delegate
variable’s method, you will pass it an Employee (because the delegate requires that the method take an
Employee parameter) and an Employee is a kind of Person, so the method can handle it.
92
Q

contravariant

A

A variable is contravariant if it enables contravariance.

93
Q

covariance

A
A feature of C# that enables a method to return a value from a subclass of the result
expected by a delegate. For example, suppose the Employee class is derived from the Person class
and the CreatePersonDelegate type indicates a method that returns a Person object. Then you
could set a CreatePersonDelegate variable equal to a method that returns an Employee because
an Employee is a kind of Person.
94
Q

delegate

A

A data type that defines a method with given parameters and return value.

95
Q

error checking

A

The process to anticipate errors, check to see if they occur, and work around them,
for example, validating an integer entered by the user in a TextBox instead of simply trying to parse
it and failing if the value is not an integer. See also exception handling.

96
Q

exception handling

A

The process to protect the application when an unexpected error occurs, for example,
protecting the code in case a file downloads fails when it is halfway done. See also error checking.

97
Q

expression lambda

A

A lambda expression that has a single expression on the right side.

98
Q

lambda expression

A

A concise syntax for defining anonymous methods.

99
Q

publisher

A

An object that raises an event.

100
Q

statement lambda

A

Similar to an expression lambda except it encloses its code in braces and it can
execute more than one statement. If it should return a value, it must use a return statement.

101
Q

subscriber

A

An object that receives an event.

102
Q

try-catch-finally block

A

The program structure used to catch exceptions. The try section contains the
code that might throw an exception, catch sections catch different exception types, and the finally
section contains code to be executed when the try and catch sections finish executing.

103
Q

unhandled exception

A

Occurs when an exception is thrown and the program is not protected by a
try-catch-finally block, either because the code isn’t inside a try section or because there is no
catch section that matches the exception.

104
Q

asynchrony

A

Operations that are run in a nonblocking fashion. When a method needs to call another
method that potentially can block, instead of calling that method directly you can apply different
techniques to avoid the blocking of the calling method.

105
Q

Asynchronous Pattern Model (APM)

A

When using this pattern, a method is split in two parts, a
Begin and an End part. The begin part is responsible to prepare the call and to return the caller
right away, and the end part is the one called to get back the result. The method was run in a
thread from the thread pool. It is not recommended to use this approach for new development;
instead use the new TAP.

106
Q

atomic operation

A

An operation that will be run at once without being interrupted by the scheduler.

107
Q

deadlock

A

Occurs when two or more threads try to acquire a lock on a resource that one of the other
threads has locked already; neither of them can make more progress. There are four conditions that
need to be fulfilled and that lead to a deadlock: mutual exclusion, hold and wait, no preemption, and
circular wait.

108
Q

Event-based Asynchronous Pattern (EAP)

A

This pattern requires a method to be suffixed with Async
and provide events and delegates to signal when the method finished or failed. It is not recommended
for new development to use this approach; instead use the new TAP.

109
Q

fork-join pattern

A

The process of spawning another thread from the current thread (fork) to do
something else while the current threads continue their work and then to wait for the spawned
thread to finish its execution (join).

110
Q

multithreading

A

The capability of an operating system, or a hardware platform to have several threads
of execution at the same time.

111
Q

mutual exclusion

A

Mutual exclusion is the problem, first solved by Edsger W. Dijkstra, of ensuring
that two threads can’t be in the same critical section at the same time.

112
Q

race condition

A

Occurs when two or more threads access shared data, writing at the same time. If
the access to data is for read purposes only, there is no problem. But when several threads try to
write, one thread might overwrite the data written by another thread, not taking in consideration
the change.

113
Q

scheduler

A

A component of the operating system that ensures that threads are given access to the
CPU in a fair manner, avoiding situations when a thread monopolizes the CPU.

114
Q

task

A

A unit of work. It normally represents an asynchronous operation that is part of a bigger problem.

115
Q

Task Parallel Library (TPL)

A

A .NET library created by Microsoft that tries to abstract away and
simplify the code that deals with threads.

116
Q

Task-based Asynchronous Pattern (TAP)

A

A pattern based on a single method that returns Task or
Task objects that represent the asynchronous work in progress. This is the recommended
pattern for the new development.

117
Q

thread

A

The smallest unit of execution that can be independently scheduled by the operating system.

118
Q

thread pool

A

The thread pool represents a pool of precreated threads that can be used by the tasks, or
to queue work items, or to run asynchronous I/O operations.

119
Q

anonymous method

A

Enables you to associate a block of code with a delegate without declaring the
method signature.

120
Q

assembly

A

A compiled piece of code in a DLL or EXE file.

121
Q

attribute

A

Enables you to associate metadata with assemblies, types, methods, properties, and so on.

122
Q

Code Document Object Model (CodeDOM

A

Enables the developer to generate code in multiple languages

at run time based on a single code set.

123
Q

context

A

When loading an assembly using reflection, the context is where reflection searches for
the assembly.

124
Q

contravariance

A

Permits parameter types that are less derived than the delegate’s parameter types.

125
Q

covariance

A

Enables you to have a method with a more derived return type than the delegate’s
return type.

126
Q

delegate

A

A type that references a method.

127
Q

expression lambda

A

A lambda expression that contains only one statement for the body.

128
Q

Expression Tree

A

Code in a tree-like structure where each node is an expression.

129
Q

field

A

A variable defined in a class or struct.

130
Q

lambda expression

A

Shorthand syntax for an anonymous method that can be associated with a
delegate or expressions tree.

131
Q

load context

A

When loading an assembly using reflection, this context contains the assemblies found
by probing.

132
Q

load-from context

A

When loading an assembly using reflection, this context contains the assemblies
located in the pat passed into the LoadFrom method.

133
Q

module

A

A file that composes an assembly. Typically this is the DLL or EXE file.

134
Q

probing

A

The process of looking in the GAC, the host assembly store, the folder of the executing
assembly, or the private bin folder of the executing assembly to find an assembly.

135
Q

reflection

A

Provides classes that can be used to read metadata or dynamically invoke behavior from
a type.

136
Q

reflection-only context

A

When loading an assembly using reflection, this is the context that contains
the assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods.

137
Q

statement lambda

A

A lambda expression with more than one statement in the body of the expression.

138
Q

target

A

The class, property, or method that contain metadata defined by an attribute.

139
Q

type

A

Any class, interface, array, value type, enumeration, parameter, generic type definition, and
open or closed constructed generic type.

140
Q

ADO.NET Entity Framework

A

An object relational mapping tool that provides a graphical user interface
that generates to code to perform operations against a database using ADO.NET

141
Q

array

A

The most basic type used to store a set of data.

142
Q

async

A

Indicates that the method, lambda expression, or anonymous method is asynchronous.

143
Q

await

A

Suspends the execution of a method until the awaited task completes.

144
Q

boxing/unboxing

A

Boxing is the process of converting a value type to a reference type. Unboxing is
the process of converting a reference type to a value type.

145
Q

collection

A

A generic term that encompasses lists, dictionaries, queues, stacks, hash tables, and other
objects that can contain sets of data.

146
Q

connection object

A

An object in ADO.NET that allows you to open and execute commands against
a database.

147
Q

IComparable interface

A
A class that implements the IComparable interface can be sorted when used
in a collection or array.
148
Q

indexer

A

A method that is used when referencing an element in an array or collection by using square
brackets, [], and its index.

149
Q

JSON

A

JavaScript Object Notation is a lightweight data-interchange format.

150
Q

Object Relational Mapping (ORM)

A

A computer software term for tools that convert data between

type systems using an object oriented programming language.

151
Q

OData ATOM

A

The XML representation of data returned from an OData query.

152
Q

Open Data Protocol (OData)

A

A web protocol for querying and updating data through the Internet
or intranet.

153
Q

shallow copy

A

Creating a new copy of an object that copies all value types and copies object references
for reference types.

154
Q

serialization

A

The process of converting an object into a stream of bytes that can be stored
or transmitted.

155
Q

stream

A

An abstract class that provides a generic view of a sequence of bytes.

156
Q

Text Transformation Template Toolkit (T4 Template)

A

A file that contains text blocks and control

statements that enable to you to generate a code file.

157
Q

WCF Data Services

A

Enables you to use OData to expose and consume data over the web or
an intranet.

158
Q

anonymous type

A

A type created with read-only properties without having to write the code to
declare the class.

159
Q

composite keys

A

Contains multiple properties that you need for the purpose of a join.

160
Q

deferred execution

A

Execution of a LINQ query is deferred until the result is enumerated or by
calling a function on the result.

161
Q

Goes To operator

A

The Goes To operator is the => signs in a lambda expression.

162
Q

implicitly typed variable

A

A variable that has its type determined by the expression on the right side
of the initialization statement. Use the keyword var to declare an implicitly typed variable.

163
Q

inner sequence

A

When using the method-based Join function, this refers to the sequence passed into
the Join method as a parameter.

164
Q

Language Integrated Query (LINQ)

A

A set of features that extends powerful query capabilities to C#.

165
Q

method-based query

A

A feature of LINQ that uses extension methods on types that implement the
IEnumerable or IQuerable interface to query the data.

166
Q

outer join

A

Selects all elements from one sequence when joined to another sequence even if there is
not a match on the joined property.

167
Q

outer sequence

A

When using the method-based Join function, this refers to the sequence calling the
Join method.

168
Q

ParamArray

A

A parameter to a method that enables you to pass an unknown number of parameter to
the method.

169
Q

predicate

A

The code executed in a where clause for a query expression.

170
Q

projection

A

Selecting a subset of properties from a type that creates a new anonymous type.

171
Q

query expression

A

A feature of LINQ that enables you to query any type that implements the
IEnumerable or IQueryable interface by using syntax that is easy to comprehend.

172
Q

assertion

A

A piece of code that makes a particular claim about the data and that throws an exception
if that claim is false. In C# you can use the System.Diagnostics.Debug.Assert method to
make assertions.

173
Q

character class

A

A regular expression construction that represents a set of characters to match.

174
Q

conditional compilation constant

A

A predefined symbol created by Visual Studio that you can use with
the #if, #elif, #else, and #endif directives to determine what code is included in the program. These
include DEBUG and TRACE, which are normally defined in debug and release builds, respectively.

175
Q

data validation

A

Program code that verifies that a data value such as a string entered by the user
makes sense. For example, the program might require that a value be nonblank, that a monetary
value be a valid value such as $12.34 not “ten,” or that an e‑mail address contain the @ symbol.

176
Q

escape sequence

A

A sequence of characters that have special meaning, for example, in a regular
expression.

177
Q

inline options

A

Options set in a regular expression by using the syntax (?imnsx).

178
Q

instrumenting

A

Adding features to a program to study the program itself.

179
Q

logging

A

The process of instrumenting a program, so it records key events.

180
Q

pattern

A

A regular expression used for matching parts of a string.

181
Q

performance counter

A

A system-wide counter used to track some type of activity on the computer.

182
Q

profiler

A

An automated tool that gathers performance data for a program by instrumenting its code or
by sampling.

183
Q

profiling

A

The process of instrumenting a program to study its speed, memory, disk usage, or other
performance characteristics.

184
Q

regular expression

A

An expression in a regular expression language that defines a pattern to match.
Regular expressions let a program match patterns and make replacements in strings.

185
Q

sanity check

A

A test on data to see if the data makes sense. For example, if a user enters the cost
of a ream of paper as $1e10.00, that might be a typographical error, and the user may have meant
$100.00. Sometimes the user might actually have intended an unusual value, so the program must
decide whether to reject the value or ask the user whether the value is correct.

186
Q

tracing

A

The process of instrumenting a program so that you can track what it is doing.

187
Q

assembly

A

An assembly is the unit of reuse, deployment, versioning, and security.

188
Q

asymmetric encryption (public key)

A

A cryptographic algorithm that uses two complementary keys,
one for encryption and one for decryption. Data encrypted with the public key can only be decrypted
using the private key.

189
Q

Certificate Authority (CA)

A

An entity that issues digital certificates.

190
Q

Certificate Revocation List (CRL)

A

A list of digital certificates that has been revoked for various
reasons. You shouldn’t use a certificate if it is revoked.

191
Q

certificate stores

A

A special storage location on your computer, used to store encryption certificates.

192
Q

Common Language Runtime (CLR)

A

CLR is the component of .NET Framework responsible for

running .NET applications and managing their running environment.

193
Q

cryptography

A

The practice and study of techniques for secure communication.

194
Q

decryption

A

The process of decoding previously encrypted data so that it can be used by your
application.

195
Q

encryption

A

The process of encoding data so that it cannot be read by an unauthorized person.

196
Q

Global Assembly Cache (GAC)

A

GAC is a machine-wide code cache.

197
Q

hash bucket

A

A data structure that holds items that share the same hash value.

198
Q

hashing

A

Used to map data structures of variable length, to fixed size data structures. Hashing the
same data using the same algorithm will always yield the same hash value.

199
Q

initialization vector (IV)

A

A data array used by the encryption algorithms to encrypt the first data
block. The IV doesn’t need to be kept secret.

200
Q

Intermediate Language (IL)

A

The result of compiling a .NET application from source code.

201
Q

Just In Time compiler (JIT)

A

A component of the .NET that transforms the IL into binary code that
can be run on the target platform.

202
Q

Message Authentication Code (MAC)

A

A family of cryptographic algorithms used to provide data

integrity and authenticity.

203
Q

private key

A

The public and private keys are a pair of complementary keys used together in the
asymmetric encryption. Data encrypted with the private key can only be decrypted using the public
key, and data encrypted with the public key can only be decrypted using the private key.

204
Q

public key

A

The public and private keys are a pair of complementary keys used together in the
asymmetric encryption. Data encrypted with the private key can only be decrypted using the public
key, and data encrypted with the public key can only be decrypted using the private key.

205
Q

Public Key Infrastructure (PKI)

A

The infrastructure needed to handle digital certificates.

206
Q

Secured Hash Algorithm (SHA)

A

A family of cryptographic algorithms used to calculate hashes
published by NIST.

207
Q

Secure Socket Layer (SSL)

A

A cryptographic protocol used for secure communication over the Internet.

208
Q

symmetric encryption (shared secret)

A

A cryptographic algorithm that uses the same key for both

encryption and decryption of data.

209
Q

Transport Layer Security (TLS)

A

A cryptographic protocol used for secure communication over the
Internet, the successor of SSL.