100% found this document useful (1 vote)
8 views

(eBook PDF) Fundamentals of C# Programming for Information Systems 2nd Edition - The ebook in PDF/DOCX format is ready for download now

The document provides information about various eBooks available for download on ebookluna.com, including titles like 'Fundamentals of C# Programming for Information Systems' and 'Essentials of MIS'. It highlights the availability of instant digital products in multiple formats and offers links to specific eBook titles. Additionally, it outlines the content and organization of the 'Fundamentals of C# Programming for Information Systems' book, detailing its structure and key features aimed at introductory programming courses.

Uploaded by

xnskdimanmi
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 (1 vote)
8 views

(eBook PDF) Fundamentals of C# Programming for Information Systems 2nd Edition - The ebook in PDF/DOCX format is ready for download now

The document provides information about various eBooks available for download on ebookluna.com, including titles like 'Fundamentals of C# Programming for Information Systems' and 'Essentials of MIS'. It highlights the availability of instant digital products in multiple formats and offers links to specific eBook titles. Additionally, it outlines the content and organization of the 'Fundamentals of C# Programming for Information Systems' book, detailing its structure and key features aimed at introductory programming courses.

Uploaded by

xnskdimanmi
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/ 45

Read Anytime Anywhere Easy Ebook Downloads at ebookluna.

com

(eBook PDF) Fundamentals of C# Programming for


Information Systems 2nd Edition

https://ebookluna.com/product/ebook-pdf-fundamentals-of-c-
programming-for-information-systems-2nd-edition/

OR CLICK HERE

DOWLOAD EBOOK

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


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

(eBook PDF) Fundamentals of C# Programming for Information


Systems 2nd Edition

https://ebookluna.com/product/ebook-pdf-fundamentals-of-c-programming-
for-information-systems-2nd-edition-2/

ebookluna.com

(eBook PDF) Fundamentals of Information Systems 9th


Edition

https://ebookluna.com/product/ebook-pdf-fundamentals-of-information-
systems-9th-edition/

ebookluna.com

(eBook PDF) Fundamentals of Information Systems 8th


Edition

https://ebookluna.com/product/ebook-pdf-fundamentals-of-information-
systems-8th-edition/

ebookluna.com

Fundamentals of Information Systems 9th Edition Ralph


Stair - eBook PDF

https://ebookluna.com/download/fundamentals-of-information-systems-
ebook-pdf/

ebookluna.com
Essentials of MIS (Management Information Systems), 15th
Global Edition Kenneth C. Laudon - eBook PDF

https://ebookluna.com/download/essentials-of-mis-management-
information-systems-15th-global-edition-ebook-pdf/

ebookluna.com

Essentials of MIS (Management Information Systems), 15th


Global Edition Kenneth C. Laudon - eBook PDF

https://ebookluna.com/download/essentials-of-mis-management-
information-systems-15th-global-edition-ebook-pdf-2/

ebookluna.com

(eBook PDF) Management Information Systems for the


Information 9th

https://ebookluna.com/product/ebook-pdf-management-information-
systems-for-the-information-9th/

ebookluna.com

Fundamentals of Ecosystem Science 2nd Edition Kathleen C.


Weathers - eBook PDF

https://ebookluna.com/download/fundamentals-of-ecosystem-science-
ebook-pdf/

ebookluna.com

(eBook PDF) Fundamentals of Communication Systems, Global


Edition 2nd Edition

https://ebookluna.com/product/ebook-pdf-fundamentals-of-communication-
systems-global-edition-2nd-edition/

ebookluna.com
6.5 Getting User Input from Controls ................................................................................................... 183
6.6 Working with ComboBoxes............................................................................................................ 186
6.7 Working with ListBoxes ................................................................................................................. 196
6.8 Windows Presentation Foundation (WPF) ..................................................................................... 201
Exercises ............................................................................................................................................... 203
Chapter 7: Arrays ................................................................................................205
7.1 Introduction to One-Dimensional Arrays ....................................................................................... 205
Tutorial 1: Working with 1-D Arrays: Test Scores Application ........................................................... 208
7.2 Assigning a Value to an Element of an Array................................................................................. 211
7.3 Accessing Elements of an Array Using the Index .......................................................................... 212
7.4 Accessing Elements of an Array Using the foreach Loop .............................................................. 215
7.5 Copying an Array............................................................................................................................ 217
7.6 Looking Up Values in an Array ...................................................................................................... 221
Tutorial 2: Lookup Units Sold Using 1-D Arrays................................................................................. 222
Exercises ............................................................................................................................................... 224
Chapter 8: Sequential Files and Arrays.............................................................226
8.1 Introduction to Text Files................................................................................................................ 226
Tutorial 1: Reading Text Files .............................................................................................................. 229
8.2 Splitting a Row: Split Method ........................................................................................................ 231
8.3 Reading Data from Files into Arrays .............................................................................................. 234
8.4 Additional Methods of Arrays ........................................................................................................ 241
Tutorial 2: Looking Up Phone Numbers Using Arrays ........................................................................ 242
Tutorial 3: Using a ComboBox to Select the Search Name .................................................................. 246
8.5 Writing to Text Files ....................................................................................................................... 248
Tutorial 4: Writing Scores to Text File ................................................................................................. 248
8.6 SaveFileDialog Control .................................................................................................................. 255
8.7 Passing Arrays to Methods ............................................................................................................. 259
Tutorial 5: Passing Arrays to Compute Average .................................................................................. 259
8.8 Two-Dimensional (2-D) Arrays ...................................................................................................... 263
Tutorial 6: 2-D Array to Find the Sales for a Product........................................................................... 267
Exercises ............................................................................................................................................... 271
Rentals Assignment 2 ........................................................................................................................... 272
Help Desk Assignment 2 ...................................................................................................................... 274
Chapter 9: Collections .........................................................................................276
9.1 Introduction to Collections.............................................................................................................. 276
9.2 List<T> Collection .......................................................................................................................... 278
Tutorial 1: Looking Up Sales Data Using a List ................................................................................... 279
9.3 Dictionary<TKey, TValue> Collection .......................................................................................... 285
Tutorial 2: Dictionary with Product# as Key and Price as Value ......................................................... 287
Tutorial 3: Dictionary with Product# as Key and Sales Array as Value ............................................... 293
Exercises ............................................................................................................................................... 297
Chapter 10: Graphical User Interface: Additional Controls...........................298
10.1 ListView: Features ........................................................................................................................ 298
10.2 Adding Items to ListView ............................................................................................................. 299
Tutorial 1: Selecting a Show from a ListView ..................................................................................... 302
10.3 Accessing Data from a ListView .................................................................................................. 302
10.4 Forms with Tab Pages ................................................................................................................... 308
Tutorial 2: Multipage Form with TabControl ....................................................................................... 308
Exercises ............................................................................................................................................... 310
Chapter 11: Multi-form Applications and Menus ............................................312
11.1 Introduction ................................................................................................................................... 312
11.2 Accessing an Existing Form from Another................................................................................... 313
Tutorial 1: Multi-form Financial Planning Application ........................................................................ 315
11.3 Sharing a Method between Multiple Forms .................................................................................. 318
Tutorial 2: Sharing the LoadDictionary Method between Forms ......................................................... 319
11.4 Closing a Parent Form .................................................................................................................. 325
11.5 Menus............................................................................................................................................ 328
11.6 ToolStrips...................................................................................................................................... 332
Exercises ............................................................................................................................................... 334
Chapter 12: Databases .........................................................................................335
12.1 Introduction ................................................................................................................................... 336
12.2 Creating Database Objects ............................................................................................................ 336
Tutorial 1: Display Employee Records Using the Wizard .................................................................... 337
12.3 Displaying Data in a DataGridView ............................................................................................. 340
12.4 Accessing Data Items from a DataGridView ................................................................................ 346
12.5 Displaying Data in Details View .................................................................................................. 349
12.6 Finding the Record for a Selected Key ......................................................................................... 351
Tutorial 2: Find Employee Records Using the Wizard ......................................................................... 352
12.7 Selecting a Group of Records Using the Binding Source ............................................................. 356
12.8 Selecting Records Using the Table Adapter ................................................................................. 362
Tutorial 3: Parameter Query to Select Records..................................................................................... 363
12.9 Untyped Datasets: Displaying Records......................................................................................... 365
Tutorial 4: Display Records Using Untyped Datasets .......................................................................... 366
12.10 Untyped Datasets: Selecting Records ......................................................................................... 375
Tutorial 5: Select Records Using Untyped Datasets ............................................................................. 377
12.11 Untyped Datasets: Add/Edit/Delete Records .............................................................................. 384
Tutorial 6: Add/Edit/Delete Using Untyped Datasets........................................................................... 385
12.12 Command Object and DataReader .............................................................................................. 394
Tutorial 7: SqlCommand and SqlDataReader to Work with Tables ..................................................... 396
Exercises ............................................................................................................................................... 405
Rentals Assignment 3 ........................................................................................................................... 407
Help Desk Assignment 3 ...................................................................................................................... 407
Chapter 13: Object-Oriented Programming .....................................................414
13.1 Introduction to Objects and Classes .............................................................................................. 415
13.2 Classes versus Objects .................................................................................................................. 415
13.3 Information Hiding (Encapsulation) ............................................................................................. 417
Tutorial 1: Create an Employee Class................................................................................................... 419
13.4 Properties ...................................................................................................................................... 423
Tutorial 2: User Interface and Properties .............................................................................................. 426
13.5 Calling Methods (Sending Messages to Objects) ......................................................................... 434
Tutorial 3: Calling Methods and Passing Data between Forms ............................................................ 435
Exercises ............................................................................................................................................... 448
Chapter 14: Inheritance ......................................................................................450
14.1 Introduction to Inheritance ............................................................................................................ 451
14.2 Implementing Inheritance ............................................................................................................. 452
Tutorial 1: Creating Subclasses ............................................................................................................ 454
14.3 Using Subclasses and Super Classes............................................................................................. 458
14.4 Overriding Methods ...................................................................................................................... 459
Tutorial 2: Implementing the GrossPay Method................................................................................... 462
14.5 Polymorphism ............................................................................................................................... 467
Tutorial 3: Dynamic Dispatch and the ToString Method...................................................................... 468
14.6 Abstract Classes and Interfaces..................................................................................................... 472
Tutorial 4: Interfaces ............................................................................................................................. 473
14.7 Using Interfaces to Sort Collections ............................................................................................. 480
Tutorial 5: Sorting Employees .............................................................................................................. 483
14.8 Access Modifiers in C# ................................................................................................................. 486
Exercises ............................................................................................................................................... 488
Chapter 15: Introduction to Web Applications Development .........................491
15.1 Introduction to Web Applications ................................................................................................. 491
15.2 Creating a Single-Page ASP.NET Website................................................................................... 496
Tutorial 1: Developing a Simple Web Page: Ice Cream Cost ............................................................... 496
15.3 Introduction to HTML .................................................................................................................. 502
15.4 Working with Web Server Controls.............................................................................................. 506
15.5 Validating Data Using Validation Controls .................................................................................. 517
Exercises ............................................................................................................................................... 522
Chapter 16: Web Development: Multipage and Database Applications.......523
16.1 Accessing Databases from Web Forms ........................................................................................ 523
Tutorial 1: Accessing a Database: Theater Tickets Application ........................................................... 524
16.2 Preserving Data during Postbacks Using View State ................................................................... 538
16.3: Multipage Websites and Session State ........................................................................................ 543
16.4 Setting a Page to Its Previous State ............................................................................................... 551
Exercises ............................................................................................................................................... 557
Appendix A: Binary Files ....................................................................................559
A.1 Writing to Binary Files .................................................................................................................. 559
Tutorial: Working with Binary Files ..................................................................................................... 559
A.2 Reading Binary Files ...................................................................................................................... 560
Appendix B: Creating a Database ......................................................................562
Tutorial: Creating HR Database............................................................................................................ 562
Appendix C: Answers to Review Questions ......................................................564
Appendix D: HTML Elements ............................................................................584
Index ......................................................................................................................586
Preface
Mission of the Text
Welcome to Fundamentals of C# Programming for Information Systems. This book teaches the
fundamentals of programming in C# to provide a solid foundation to build business and other real-world
applications. Programming concepts are discussed in the context of familiar practical applications that use
graphical interfaces.

New to This Edition


A key goal of the new edition was to add significant content so that the book could be used in a two-
course sequence in programming. Four new chapters have been added: Two chapters that provide a
comprehensive introduction to web applications development, and two other chapters on the concepts and
practice of object-oriented programming, including inheritance.
Several other updates were made based on feedback from instructors: a second set of three comprehensive
assignments (in chapters 3, 8, and 12), additional end-of-chapter exercises, and learning objectives for
each chapter.

Target Audience
This book is designed for introductory programming courses in IS/MIS, CIS and IT. This book also
would fit into a computer science curriculum with an introductory course that uses a GUI-based
application-oriented approach to teach programming concepts. The breadth and depth of coverage makes
this book suitable for a two-course sequence, particularly when students come to the first course with no
programming background and a slower pace is desired. An approach in a two-course sequence would be
to do in-depth coverage of topics like collections, databases, object-oriented programming, web
development, and others presented in later chapters only in the second course.

Key Features
A key feature of the book is that programming concepts are introduced in small chunks through examples
and illustrations accompanied by hands-on tutorials. The tutorials, which are interspersed with the
concepts, help students apply and explore what they learn immediately. Additionally, review questions
and exercises within the chapters enhance student interest and learning.
Although the book is written for beginners, it is thorough and concise. Graphical illustrations and
screenshots are used throughout the book to enhance learning for both beginners and experienced
students.
Windows forms are used from the beginning to provide GUI-based as opposed to console-based interface.
This book builds graphical user interfaces and code in the .Net environment using Visual Studio. You are
encouraged to use the current free version, Visual Studio Community 2017. Earlier versions, including
Visual Studio 2015, Visual Studio Express and Visual Studio 2013, generally work well, except that you
won’t be able to run a few programs that use certain features available only in C# version 7.1 or greater.
ii

Supplements
For Students: Tutorial_Starts.zip file that contains
o Partially completed projects for tutorials
o Data files/databases used in projects

You may download the Tutorial_Starts.zip file from


http://www.prospectpressvt.com/titles/c-sharp-programming/student-resources/

For Instructors: Instructor resources include


o Completed tutorials
o PowerPoint slides for all chapters
o Test bank
o Partially completed projects for tutorials
o Data files/databases used in projects

To access instructor resources, please complete the request form at


http://www.prospectpressvt.com/faculty-resources/instructors-material/

Installing Visual Studio


You may download Visual Studio Community 2017 from the following website:
https://www.visualstudio.com/downloads/

To install Visual Studio, open the downloaded .exe file and run it.

Overview of the Content and Organization


Every possible sequence of topics seems to put constraints on the quality of illustrative examples and
applications that can be used in a chapter. The organization of chapters in this book attempts to minimize
such problems and to enhance the ability to build on prior chapters. However, except for the foundational
Chapters 1–5, there is significant flexibility in choosing specific topics and the depth of coverage. As
suggested by the dependencies summarized below, there is some flexibility in the sequencing too.
Chapters 1–5 cover the Visual Studio environment and introductory programming concepts, including
methods. These chapters, which provide the foundational knowledge, should be covered in sequence
before other chapters, though certain topics like working with dates and times (section 2.4) may be
postponed or skipped.
Chapter 6 presents the application of the GUI controls ScrollBars, RadioButtons, CheckBoxes,
ComboBoxes and ListBoxes.
Chapter 7 provides a detailed presentation of one-dimensional arrays, and Chapter 8 presents accessing
sequential files and using arrays in combination with files. Chapter 6 is not a prerequisite for Chapters 7
or 8. GUI is presented early on in Chapter 6 to motivate students with more interesting graphical
interfaces. It should be noted that the comprehensive assignment (Assignment 2) specified at the end of
Chapter 8 requires the use of several GUI controls.
Chapter 9 introduces collections, and discusses the List and Dictionary collections in more detail. Chapter
8 (“Sequential Files and Arrays”) is a prerequisite for this chapter. Because of the close relationship
iii

between collections and arrays, collections are presented in this book immediately following Chapter 8 on
arrays.
Chapter 10 discusses the application of ListView and TabControl. The dependency of this chapter on
Chapter 9 (“Collections”) is very low. The prerequisite for this chapter includes Chapters 6 and 8.
Chapter 11 presents multiform applications, Menus and ToolStrips. This chapter has some dependency on
previous chapters, except Chapter 10.
Chapter 12 provides in-depth coverage of accessing databases from C# programs. Chapter 6 is a
prerequisite for this chapter. In addition, the ListView control presented in Chapter 10 is used in an
example in the last part of this chapter, and it is required in the third comprehensive assignment
(Assignment 3) at the end of this chapter. Assignment 3 also requires the use of MainMenu control
discussed in Chapter 11. Other than that, the dependence of Chapter 12 on Chapters 7–11 is relatively
low.
Chapter 13 provides an introduction to object-oriented programming (OOP) principles and techniques.
The initial part of this chapter may be used for an introduction to OOP early in the semester.
Chapter 14 describes the concept of inheritance, implementation of inheritance, subclasses and super
classes, overriding methods and polymorphism. Chapter 13 is a prerequisite for this chapter, and it also
relies on collections from Chapter 9.
Chapter 15 presents the concepts of web applications development, and develops simple web applications
using the ASP.Net platform in the Visual Studio environment. Only the basic programming knowledge
presented in Chapters 1–3 is required for this chapter.
Chaper 16 describes how to access SQL Server databases and develop multipage web projects. Basic
programming concepts presented in Chapters 1–6, the concept of collections from Chapter 9, and basic
database concepts including binding controls to a database and filtering records (Chapter 12) are used in
building the application.
iv

Acknowledgments
I am thankful for the valuable assistance provided by many people in the preparation of this book. I wish
to thank Dr. Jakob Iversen, The University of Wisconsin–Oshkosh, for authoring Chapters 13 and 14 on
Object-Oriented Programming.
I was fortunate to work with Beth Lang Golub, editor and president of Prospect Press, who was flexible
and supportive of my goal to offer a good quality programming textbook at a reasonable price. Special
thanks go to Susan Hegedus, Kathy Bond Borie and Rachel Paul for their painstaking attention to detail in
editing this book, and to Annie Clark for the cover design.
I wish to acknowledge the contributions of the following reviewers for their valuable guidance in
improving the presentation and contents of this book:
Janet Bailey, University of Arkansas at Little Rock
Wei Kian Chen, Champlain College
Clinton Daniel, University of South Florida
Silvana Faja, University of Central Missouri
Joni L. Jones, University of South Florida
David Pumphrey, Colorado Mesa University
Manonita M. Ratwatte, University of Oklahoma (Retired)
Theadora Ross, University of Arkansas at Little Rock
David M. Weber, Northern Arizona University
Thanks are also due to the instructors who provided valuable feedback on the first edition of this book
through user surveys:
Janet Bailey, University of Arkansas, Little Rock
Jeff Dickson, Oregon Institute of Technology
Ruth Lamprecht, Virginia Union University
Panos Linos, Butler University
Ziping Liu, Southeast Missouri State University
Robert Pilgrim, Murray State University
Kris Rosenberg, Oregon Institute of Technology
Doug Titus, University of North Florida

About the Author


Dr. George Philip is Professor Emeritus of Information Systems at the College of Business, The
University of Wisconsin–Oshkosh. He has more than twenty-five years of teaching and consulting
experience in the information systems field, including computer programming in multiple languages. He
also served as chair of the Information Systems Team, and director of the M.S. in Information Systems
program. He has published numerous articles in this field.
Chapter 1

Introduction to Visual Studio and Programming

Welcome to programming in C# language. In this chapter, you will learn to develop simple programs in
the Visual Studio development environment, and to work with different types of data.
Learning Objectives
After studying this chapter, you should be able to:
 Identify the inputs, processes and outputs of a software system.
 Describe the steps involved in developing a computer program.
 Describe the terms: syntax, logic and runtime errors, machine language, low-level language, high-
level language, compiler and interpreter.
 Develop a simple form in Visual Studio to accept user input, do calculations and display
formatted output.
 Work with Label, TextBox, Button, ListBox and MessageBox.
 Develop simple programs that use constants, variables and expressions.
 Use try-catch method to catch errors.

Topics

1.1 Introduction to Programming 1.8 Working with Variables


1.2 Introduction to Visual Studio 1.9 Doing Calculations
1.3 Visual Studio Environment 1.10 Formatting and Displaying Output in a Label
1.4 Adding Controls to a Form 1.11 Additional Concepts: Constants, Scope of
1.5 The Code Editor Window Variables and ListBox
1.6 Introductory Programming Concepts 1.12 Exception Handling: Catching Errors
1.7 Data Types

1.1 Introduction to Programming


Programming is the process of developing computer programs. If a computer program seems like a
mystery to you, it is just a set of instructions telling the computer how to do a task, like looking up the
price of an item or finding the Chinese restaurants in a city.
Unfortunately, computers cannot understand normal English. So, programs have to be written using
special commands and statements according to strict rules. A key aspect of programming is breaking
down what you want the computer to do, into detailed instructions. Like the directions that a GPS gives
you to get to a place, the instructions in a program need to be precise.

Fundamentals of C# Programming for


Information Systems
Visit https://testbankfan.com
now to explore a rich
collection of testbank or
solution manual and enjoy
exciting offers!
2 1.1 Introduction to Programming

Typically, a program uses one or more data items to produce some results. For example, a program that
processes an order might use the item number and order quantity to compute the subtotal, sales tax and
total cost, as represented in Figure 1-1.

Figure 1-1: Inputs, process and outputs of a program

Subtotal
Item# Process
Sales tax
Quantity Order
Total cost

The program, represented by the block “Process Order,” may include multiple subtasks like look up the
unit price, check inventory and compute results.
The data that are used by a program are called the input to the program, and the results produced are
called the output of the program. In addition to processing input data to produce the output, a program
might write data to and read data from storage devices like a flash drive or a hard drive, as represented in
Figure 1-2.

Figure 1-2: A general representation of a software system

How Do I Go About Developing a Program?


To understand the process of developing a program, let’s use a simplified order-processing system as an
example. To develop good programs and do so efficiently, follow these steps:
1. Define the purpose, and identify the input, process and output of the program.
2. Design and develop the graphical user interface (GUI).
3. Identify the components and logic of the program.
4. Design and develop files/databases, if any.
5. Write and test the code.
Let’s look at these steps in more detail.

1. Define the purpose, and identify input/process/output


Before you can write the program, you need to lay some groundwork. In this step, you identify what the
user wants the program to do, including the input, process and output of the program.
Depending on the size and complexity of the program, this could involve extensive analysis of the
requirements, including interviews with users; examination of current forms, reports and transactions; and
identifying processes like checking inventory and looking up price in an order.

Fundamentals of C# Programming for


Information Systems
Chapter 1: Introduction to Visual Studio and Programming 3

Here is an example of a simplified statement of the purpose of the order processing program:
Purpose: Compute and display the subtotal, sales tax and total cost for an order
The output of the program often follows from the purpose. For this example, the output would be
Output: subtotal, sales tax, total cost
The process specifies not only what the program should do (e.g., compute total cost) but also how it
should be done (e.g., how to compute total cost), as follows:
Process: (What?) Look up unit price, look up sales tax rate,
compute subtotal, sales tax and total cost
(How?) subtotal: unit price * order quantity
sales tax: subtotal * sales tax rate
total cost: subtotal + sales tax

Specifying the process also would include identifying the sources of data, like the product file to get the
unit price and sales tax file to get the sales tax rate.
The input specifies the data items that are needed to carry out the process to produce the output. The
input for this order-processing system would be
Input: item number, order quantity
Note that unit price and sales tax rate are not included in the input because the program looks them up. A
real-world system would be a lot more complex. Typically, the process would include additional subtasks
like handling orders when inventory is insufficient, and output may include various reports. In such
systems, graphical methods like Data Flow Diagrams and UML diagrams are used to represent the
processes and the data accessed by them.

2. Design and develop the graphical user interface (GUI)


After identifying the input, process and output of a program, you design and create the user interface—
that is, how the user would interact with the program, and how the program would communicate with the
user. This is the fun part where you bring in your creativity.
Typically, you use forms to interact with the program. As you will learn in the next section, forms have
various types of objects, called controls, such as Button, TextBox and Label. In this step, you identify the
type of controls to be used, specify their names and captions as appropriate, and design the layout. Figure
1-3 shows an example of the GUI for a simplified order-processing system where the user doesn’t provide
the unit price and sales tax rate.

Fundamentals of C# Programming for


Information Systems
4 1.1 Introduction to Programming

Figure 1-3: GUI for an order-processing system

3. Identify the components and logic of the program


This step identifies the major subtasks of the program. For example, in order to process an order, the
program needs to do the following subtasks:
Get Item# and quantity
Look up unit price and tax rate
Compute subtotal, sales tax and total cost
Display subtotal, sales tax and total cost

Again, a real-world program may have to do additional subtasks, like checking the inventory to make sure
there is sufficient quantity on stock.
For relatively simpler programs, after identifying the subtasks, you may go directly to writing the
program for each subtask. However, for tasks involving more complex logic, it might help to develop an
outline of the logic of performing the subtasks. The representation of the logic of a program in plain
English is called pseudo code. You also may represent the logic graphically using a flowchart, as
discussed in Chapter 3.

4. Design and develop files/databases


If data is read from or written to files and/or databases, these are designed and developed prior to writing
the program. Depending on the application, this step may have to be done in parallel with previous steps.

5. Write and test the code


The final step is to write and test the code. You can program in a variety of languages. C#, Java, Visual
Basic, Python and PHP are among the popular languages. You will use C#, which is a popular language
for developing desktop and web applications.
Programing may involve iteratively developing an application by going through the above steps multiple
times.

Syntax, Logic and Runtime Errors


The programming statements you write have to follow strict rules of the language, called the syntax. The
program wouldn’t compile if it had any syntax error, like a missing semicolon at the end of a statement
or a misspelled key word. Compiling is the process of translating the program you write, called the

Fundamentals of C# Programming for


Information Systems
Chapter 1: Introduction to Visual Studio and Programming 5

source code, to another language before running a program, as described in the next section. So, your
first task is to make sure that there are no syntax errors. The good news is that Visual Studio provides a
lot of help in identifying syntax errors.
After the syntax errors are eliminated, the program may run. But, it’s still too early to celebrate because
the results could be incorrect due to errors in the program logic, just like you can write a grammatically
correct sentence that doesn’t convey the intended message. Errors that cause a program to produce
incorrect or unintended results are called logic errors. A tax-filing software using the wrong tax rate and
a billing software overcharging a customer are examples of logic errors.
There are errors other than logic errors that can occur at runtime. These are called runtime errors.
Runtime errors cause the program to crash (unless the program catches and handles such errors) because
the program asks the computer to do something it is unable to do, like accessing a file with an invalid path
or dividing a number by zero.
The process of identifying errors (bugs) is called debugging. Testing programs to identify and eliminate
errors is an extremely important part of developing software.

Review Questions
1.1 Consider Google as a software system. What would be the input, process and output for Google?
1.2 Consider a software system that enrolls students into classes. Identify some key inputs that the
system needs every time a student enrolls in a class, and the subtasks (process) that need to be
performed. What are some outputs the system should produce for students and instructors?
1.3 List the major steps in developing a program.
1.4 Incorrect punctuation in a program is an example of what type of error?
1.5 A payroll program uses the wrong formula to compute overtime pay. What type of error is it?
1.6 True or false: A program that doesn’t have any syntax errors should produce the correct results.

1.2 Introduction to Visual Studio


In this section, you will learn how to use Visual Studio (VS) to create the user interface and write C#
programs. Visual Studio is an integrated development environment (IDE) for developing applications in a
variety of languages, including C#, Visual Basic, C++, Python and HTML/JavaScript. VS supports
development of desktop and web applications for Windows, Android and iOS. A major strength of Visual
Studio is that it provides a user-friendly environment for developing applications.

Installing Visual Studio


You may download Visual Studio Community 2017 from the following website:
https://www.visualstudio.com/downloads/
To install Visual Studio, open the downloaded vs_community.exe file. The installation software will
guide you through the process. The first time you start Visual Studio, you will be asked to choose the
Development Settings and a Color Theme. Choose Visual C# for settings. You may change these settings
later, as described in Tutorial 1.

Fundamentals of C# Programming for


Information Systems
6 1.2 Introduction to Visual Studio

Components of Visual Studio


Though you have the choice to write programs in a variety of languages, the CPU can understand only
Machine Language, which is extremely difficult for humans to understand. Machine Language requires
detailed instructions that consist of patterns of bits (0 and 1), like 10001010, and are dependent on the
machine (the specific type of computer). Because of the need to write detailed machine-dependent
instructions, Machine Language is called a low-level language.
Except in special cases, programs are written in high-level languages, like C#, which require fewer
statements, are less dependent on the hardware and are easier to understand because they use words rather
than patterns of bits.
Programs written in high-level languages are translated to Machine Language before they are run.
Different languages use different methods to translate and run programs. Many languages use a special
software called a compiler to translate the source code to Machine Language. The compiler typically
produces a separate executable Machine Language program that can be run any number of times without
having to compile every time it is run.
Some programming languages use an interpreter that translates each statement to Machine Language
and runs it without producing an executable program. So, every time the program is run, it needs to be
translated to Machine Language.
Visual Studio uses a compiler, but it translates the source code to an intermediate language, which is
translated to Machine Language and run using another software, as described later in this section. Thus,
Visual Studio translates your statements to Machine Language in two steps:
First, a compiler converts the source code into a language called Microsoft Intermediate Language (IL).
The compiled code, along with references to prebuilt programs (called classes), is stored in an executable
file called Microsoft Intermediate Language (IL) Assembly. Such files have the extension .exe or .dll.
Next, another software called Common Language Runtime (CLR) translates the assemblies from
Intermediate Language to Machine Language and executes the programs. The process of translating and
running the source code may be represented as follows:

The products that support developing and running programs within the Visual Studio family include the
following:
1. An Integrated Development Environment (IDE)
An IDE provides an environment to develop programs, which includes code editors for Visual
C#, Visual Basic, Visual J#, Visual C++, HTML and XML, and designers for Windows forms
and web forms.
In Visual Studio, a software application typically is organized into Projects that may contain one
or more forms.
Forms provide the user interface that allows users to input data for the program, to interact with
the program and to display results.

2. A compiler that translates the source code into Microsoft Intermediate Language (MSIL)

Fundamentals of C# Programming for


Information Systems
Random documents with unrelated
content Scribd suggests to you:
Its appearance is unique among Boleti. Before cooking the stem and
tubes should be removed, unless the latter are very firm and fresh.
The squamules must be cut away or the dish will be rough.
With many this Boletus is a prime favorite. It has a strong woody
taste, sometimes musky, sometimes faintly of anisette. It cooks well
by any method.

S. floc´copus Vahl.—floccose-stemmed. Pileus convex, soft,


covered with areas of bunched rough, scaly tomentum, cinereous, at
length blackish, appendiculate with the silky, thick annular veil.
Tubes shortened behind, their mouths large, whitish-gray. Stem
stout, pitted above, umber-tomentose below. Spores perfectly
globose, brown, 9µ broad.
Pileus 4–5 in. broad. Stem 4–5 in. long, 1 in. thick.
Woods. North Carolina and Pennsylvania, Schweinitz; Ohio, Morgan;
New York, Peck.
According to Fries this is a larger and firmer species than S.
strobilaceus but manifestly related to it. The New York specimens
which I have referred to it differ from S. strobilaceus in no respect,
except in the tubes being depressed around the stem. Unless there
are other differences in the European plant, it scarcely seems to me
to be worthy of specific distinction. Boletus floccopus, Rost. tab. 40,
is referred to Boletus scaber, as is B. holopus, Rost. tab. 48. Peck,
Boleti of the U.S.
I agree with Professor Peck that this species is not worthy of specific
distinction. During 1898 I found a bunch containing eight individuals
which varied through all botanic characteristics given to both
species. The largest individual was 4½ in. across cap, the smallest
1½ in. On some the tubes were adnate, on others shortened
behind. There was no difference in flavor excepting that due to age.
Plate CXXV.

Fig. Page. Fig. Page.


1. Fistulina hepatica, 477 2. Polyporus sulphureus, 485

FISTULI´NA Bull.

Fistula, a pipe.

Hymenium formed on the under surface of a fleshy hymenophore, at


first warted, the warts developing into cylindrical tubes that remain
distinct and free from each other, producing in their interior cellular
processes each bearing four spores. Conidia are produced in cavities
of the old hymenophore.
With the outward appearance of a Polyporus, but separated by the
tubes being free from each other.
A small genus of which F. hepatica is the principal species. This is
known and valued in Europe and wherever found in this country.
Unfortunately it is rare or unknown in many localities. A new species
has recently been found in the United States—Fistulina firma, by
Mrs. A. M. Hadley, Manchester, N.H.—a white-flesh species whose
edibility is not reported. Torrey Bull., 1899. F. pallida B. and Rav.; F.
radicata, Schw.; F. spathulata B. and C., are reported from Alabama.
Edible qualities not stated. The writer has not seen them or he
surely would have tested them. The spread and cultivation of F.
hepatica is possible. Experiments in this line are desirable.

F. hepat´ica (Huds.) Fr. Gr—resembling the liver. (Plate CXXV, fig.


1, p. 476.) Juicy-fleshy, not rooting. Pileus entire, blood-red. Flesh
thick, soft, viscid above, transversed with tenacious fibers, hence
variegated-red. Tubes at first pallid.
Changeable in form, sessile or extended into a lateral stem. Fries.
Spores salmon-color, nearly round with an oblique apiculus, 3µ
W.G.S.; broadly elliptical, 5–6×3–4µ; conidia, 6–10×5µ Massee;
yellowish, elliptical, 5–6.5µ long Peck.
West Virginia, New Jersey, Pennsylvania. August to frost. McIlvaine.
Small specimens may be confounded with F. pallida, which follows.
Fistulina hepatica is celebrated in most countries, and known usually
as the Beefsteak fungus. It grows from decaying crevices in oak,
chestnut and other trees and stumps, but those named are its
favorites. July, August, September are its months, and after rains. In
some localities and years it is rare. At Mt. Gretna, in 1898, a hundred
pounds of it could be gathered almost any day.
August, 1899, at Mt. Gretna, Pa., I found several specimens in
vicinity which, though evidently F. hepatica, were remarkable for
their structure—2–4 in. across, irregularly cylindrical, with spore
surface covering the entire fungus. Stem curt, eccentric, almost
central. Specimens were sent Professor Peck, who writes:
“The sample of Fistulina which you send is a singular thing. Saccardo
has noted a somewhat similar form but without pore surface. Yours
has pore surface, but I do not find spores developed in it. I am
inclined to think it a monstrosity, as you do, but as you say you have
found several of them I think it would be well to put it on record and
I will enter it in my record as Fistulina hepatica monstrosa n. var.
and indicate its characters.” Letter from Professor Peck, August 28,
1899.
I have partially succeeded in transplanting the mycelium of F.
hepatica. Experiments in this direction, I feel confident, will
introduce this valuable fungus to localities where it is not now found,
or is rare. Experiments with the spores have not been as yet
successful.

F. hepatica monstrosa n. var. Pk. Subglobose, supported on a


short stem or stem-like base, the external surface entirely covered
with tubules 2–4 mm. long.
Pennsylvania. C. McIlvaine. In color and texture resembling the
common form, but Mr. McIlvaine informs me that there is nothing in
the position or place of growth of the specimens to account for their
peculiar character. They are 2–4 in. in diameter. Peck, Bull. Torrey
Bot. Club, 27, January, 1900.
Excellent.

F. pal´lida B. and Rav.—pallidus, pale. Pileus kidney-shaped,


pallid-red, pulverulent, 1–2 in. broad, about 1 in. long, margin
inflexed. Tubes more or less decurrent. Stem lateral, striate, when
dry, 1½ in. long, ⅓ in. thick.
Mountains of South Carolina on the ground. Ravenel. Alabama, base
of stumps of white oak. Peters. Grev., Vol. 1, No. 5. New Jersey, Ellis.
Plate CXXVI.

No. 1. Polyporus fumosus.


2. Polystictus versicolor.
3. Merulius corium. About natural size.
4. Polyporus perennis and
section.

5. Dædalea quercina.
6. Fomes igniarius. Reduced in size.
7. Trametes gibbosa.

POLY´PORUS Fr.

Gr—many; a passage, pore.


Pileus fleshy, moist, tough, becoming harder in age, internally
composed of radiating fibers; the spore-bearing surface is within
passages or pores which are made by the descending substance of
the pileus forming the dissepiments or separating walls, hence they
are not easily separable from the pileus or from one another. The
pores not appearing at first, then becoming rounded, angular or
torn. They form a distinct strata. Stem central, eccentric, lateral or
absent.
With few exceptions growing from wood. Section Merisma contains
species which are conspicuous among fungi for their size and
beauty.
The majority of this genus are unedible, because of their being
woody, tough or bitter. Few of the edible species are of the first
class.
Excellent dishes are made by stewing the species well, serving them
in patties or in croquettes. The cooking of P. intybaceus is a guide to
all.

ANALYSIS OF TRIBES.

I.—Mesopus. (Gr—middle; a foot.) Page 479.

Stem single, distinct, central or eccentric; not black at the base.

II.—Pleuropus. (Gr—the side; a foot.) Page 480.

Stem single, lateral or eccentric; base black.

III.—Merisma. (Gr—to divide.) Page 482.

Divided into numerous pileoli, borne on a simple or much-branched


stem, or a short, thick tubercle.

IV.—Apus. (Gr—without; a foot.) Page 488.

Stem wanting; pileus attached by the side or spread on the matrix.


V.—Resupinati. (Lying on the back.) Page 489.

The pores being placed directly upon the wood or on the mycelium,
the pileus proper is absent.

I.—Me´sopus.

P. ovi´nus Schaeff.—relating to sheep. Pileus 2–4 in. broad, fleshy,


thick, fragile, irregular in shape, becoming scaly, whitish. Stem
short, thick, 1 in. or more in length, white. Pores minute, equal,
round, white then citron-color.
On the ground. Autumn.
North Carolina, Curtis; Massachusetts, Frost; Ohio, Morgan; New
York, ground in pine woods. Bethlehem. September, Peck, 22d Rep.
Cordier says it possesses an agreeable odor of almonds and that
Fries and his companions ate it raw in their mycological excursions.
Edible. Peck, Curtis.

P. leuco´melas (Pers.) Fr.—leucos, white; melas, black. Pileus 2–4


in. broad, fleshy, somewhat fragile, irregularly-shaped, silky, sooty-
black. Flesh soft, reddish when broken. Stem 1–3 in. in length,
stout, unequal, somewhat tomentose, sooty-black, becoming black
internally. Pileus and stem becoming black in places. Pores rather
large, unequal, ashy or whitish, becoming black in drying.
Spores pale brown, 10–12×4–5µ. Massee.
North Carolina, edible, Curtis; Ohio, a curious esculent. Morgan.

P. circina´tus Fr.—round. Pileus 3–4 in. broad, compact, thick


round, plane, zoneless, velvety, reddish-brown. Flesh the same
color. It forms duplicate strata of pilei, the inferior contiguous with
the stem and corky; the superior compact, soft, floccose. Stem 1 in.
thick and high, bearing a reddish-brown tomentum. Pores
decurrent, entire, dusky-gray.
In fir woods.
A noble species, memorable for the stratified duplicate pilei.
Var. prolif´erus. Like the typical form but having one or more pilei
developed from the upper surface of the first one. Fulton Chain.
August. Peck, 46th Rep. N.Y. State Bot.
New York. On ground in borders of woods. September. Peck, 32d,
46th Rep.
On ground in oak woods, West Philadelphia. McIlvaine.
When young the soft pilei are good.

Photographed by Dr. J.R. Weist. Plate CXXX.


POLYPORUS SQUAMOSUS.

II.—Pleuropus.
P. squamo´sus Fr.—squama, a scale. (Plate CXXX, p. 480.) Pileus
3 in.-1½ ft. broad, somewhat ochraceous, variegated with a broad,
adpressed, spot-like, centrifugal, darker scales, fleshy-pliant, fan-
shaped, flattened. Stem excentric and lateral, obese, reticulated at
the apex, blackish at the base. Pores thin, variable (at first minute),
then large, angular and torn, pallid. Fries.
Handsome, commonly very large, somewhat central and umbilicate
when young, at length lateral, very variable in shape.
On trunks and stumps, chiefly ash. Common. May to November.
Stevenson.
Spores oval, white, 14×6µ W.G.S.; elliptical, colorless, 12×5µ
Massee.
Massachusetts, Sprague; Iowa, Macbride; New York. Trunk of elm.
May. Peck, 27th Rep.; West Virginia, New Jersey, Pennsylvania. On
fallen trunks and on stumps. May to November. McIlvaine.
This species does not seem to be common in America, but is found
throughout Europe. It varies in size from 3 in. to over 3 feet. It has
been known to attain the circumference of 7 ft. 5 in., and the weight
of 40 lbs. Dr. Badham says that it can not be masticated and that its
expressed juice is very disagreeable. The fact, however, remains that
it is eaten, and is recorded as edible by most authors. It is
undoubtedly tough, but cut fine and stewed slowly for half an hour it
is quite as tender as the muscle of an oyster and has a pleasant
flavor.

P. pi´cipes Fr.—pix, pitch; pes, a foot. Pallid then chestnut,


commonly pale yellowish-livid, with the disk chestnut. Pileus fleshy-
coriaceous, then rigid, tough, even, smooth, depressed at the disk or
behind. Flesh white. Stem excentric and lateral, equal, firm, at first
velvety, then naked, dotted, black up to the pores. Pores decurrent,
round, very small, rather slender, white, then slightly pale yellowish.
Fries.
Imbricated, odor somewhat sweet. The pileus is depressed behind,
commonly emarginate, funnel-shaped with lobes all round.
On trunks, especially willow. Frequent. July to December. Stevenson.
Many young plants, in tufts upon a decaying oak log, were found by
me at Mt. Gretna, August, 1899. They were oyster-color, the very
thin caps translucent, 2–6 in. across, 1⁄16 in. thick; pores not visible
to the naked eye. The black dots upon the stems developed some
time after gathering.
They were pleasantly crisp when stewed and of fine flavor. Older
specimens were bitter and tough.

III.—Merisma.

P. umbella´tus Fr.—umbella, a sun-shade. Very much branched,


fibrous-fleshy, toughish. Pileoli very numerous, ½-1½ in. broad,
sooty, dull-red or pallid light-yellow, entire, umbilicate. Stems
elongated, separate, united at the base, white. Pores minute, white.
The pileoli have occurred white. Fries.
Edible. Fries.
New York, Peck, Rep. 51; Richmond, Ind., Dr. J.R. Weist;
Gouverneur, N.Y., Mrs. E.C. Anthony; West Virginia, New Jersey,
Pennsylvania. On decaying roots in ground and on stumps. May to
November. McIlvaine.
Tufts dense, branches spreading from a center. The pilei up to 2 in.
across, connected at base. The dense spreading tufts, up to a foot
across and half as high, are very noticeable. The flesh is soft and of
good flavor. Cook like P. intybaceus.

P. a´nax Berk. Fleshy, fibrous, rather tough, dusky-gray, branching


out from a thick, single stem at the base and forming a large head
of branches and pileoli 10–20 lines in diameter; the branches
terminate in numerous large pileoli of various forms and size,
imbricating, confluent and recurved. Flesh and pores white. Stems
thick, growing together, white. Pores large, unequal, angular, white.
Spores white, subelliptic, 7–8µ long.
Ohio, at the base of oak trees and stumps. Autumn. Morgan.
This species has apparently been confused by some American
mycologists with P. intybaceus. I have received specimens of it
bearing that name. The spores of that species are described as
elliptic or ovoid. The spores of Polyporus anax, as shown by our
specimens, are globose. Peck, 51st Rep. N.Y. State Bot.
Ohio, Morgan; New York, Peck, 51st Rep.; New Jersey, Sterling;
Angora, West Philadelphia, growing on rotting stump. September,
1897, McIlvaine.
Edible when young and fresh.
Photographed by Dr. J.R. Weist. Plate CXXVIII.
POLYPORUS FRONDOSUS.

P. frondo´sus Fr.—frons, a leafy branch. (Plate CXXVIII, p. 482.)


Tuft ½-1 ft. broad, very much branched, fibrous-fleshy, toughish.
Pileoli very numerous, ½-2 in., sooty-gray, dimidiate, wrinkled,
lobed, intricately recurved. Flesh white. Stems growing into each
other, white. Pores rather tender, very small, acute, white.
Pores commonly round, but in an oblique position, gaping open and
torn. Fries.
North Carolina, Curtis; Iowa, Macbride; New York, Peck, 24th Rep.;
West Virginia, 1881–1885, Chester county, Angora, Philadelphia, Pa.
On stumps, roots, etc. Rare. September to frost, McIlvaine.
Edible. Curtis. Sold in the Roman market.
Tufts up to 12 in. across; the branches very numerous, up to 2 in.
wide. The plant is tender when young and grows tough as it
matures. When young it is of good flavor and edible—older it makes
a well-flavored gravy, or is edible if chopped fine and very well
cooked.
P. intyba´ceus Fr.—succory-like. Very
much branched, fleshy, somewhat fragile. (Plate CXXIX.)
Pileoli very numerous, pale-yellowish
inclining to fuscous, dimidiate, stretched
out, sinuate, at length spathulate. Stems
connate in a very short trunk. Pores firm,
obtuse, white, inclining to dingy-brown.
Fries.
About same size as P. frondosus and larger.
Stevenson. Polyporus intybaceus.

Spores colorless, elliptical, 7×3.5µ Massee;


6×3µ W.G.S.
Indiana, H.I. Miller. Base of living trees. Woodland Cemetery, West
Philadelphia, Pa., Mt. Gretna, Pa., West Virginia, New Jersey. Large
tufts growing from oak roots in ground and at base of oak trees.
McIlvaine.
Edible. Stevenson. Paulet says: In place of its being heavy upon the
stomach, he will feel all the lighter who sups upon it.
The people of the Vosges call it the Hen-of-the-Woods.
The words of the old song—
“So very much depends upon
The way in which it’s done,”

apply with exceptional force to the cooking of P. intybaceus. If it is


cut in thin slices across the grain and slowly stewed for half an hour
it will be tender and of good flavor. It can then be served in that
way, or made into patties or croquettes.
P. crista´tus Fr.—crista, a crest. Branched, firmly fleshy, fragile.
Pileoli about 3 in. broad, reddish-green, entire and dimidiate,
imbricated, depressed, somewhat pulverulent-villous, then cracked
into scales. Stems connate, irregularly shaped, white. Pores
minute, angular and torn, whitish. Fries.
Very changeable in form, sometimes simple with an undulato-lobed,
central pileus.
Edible. Curtis.
Mt. Gretna, Pa., Woodland Cemetery, Philadelphia, West Virginia. On
ground over roots, open woods and grassy places. September,
October. McIlvaine.
Variable in form, but usually in rose-shaped clusters, which are
slightly greenish at times; oftener shades of yellow. The substance is
the same in texture as P. intybaceus. Cook in same manner.

P. con´fluens Fr.—stems confluent; adherent. Pilei branched,


fleshy, fragile, thick, dimidiate, imbricated, confluent, smooth, fleshy-
yellow becoming obscure, slightly scaly. Stem short. Pores short,
minute, pallid-white.
Eaten about Nice; savor a little sharp. Cordier; North Carolina,
superior eating. Curtis. Pine woods. New Scotland. September.
Our specimens are not at all squamulose, and this character is not
attributed to the species by all authors. It is probable that it is not
uniform in this respect. Peck, 39th Rep. N.Y. State Bot.

P. Berk´eleyi Fr. Very much branched. Pileoli very large,


subzonate, finally tomentose, yellowish, fleshy, tough becoming
corky and hard. Stem short or none, arising from a long and thick
common base growing out of the ground usually near trees or
stumps. Pores rather large, irregular, angular, pale yellowish.
A magnificent specimen found near Boston a dozen years ago and
exhibited in the window of Doyle, the florist, was fully four feet high
and from two to three feet broad, containing very many pileoli.
North Carolina, edible, Curtis; Iowa, Bessey; Ohio, Morgan; Mt.
Gretna, Pa., very large specimens, 20 in. across. McIlvaine.
Edible when young.

P. gigante´us Fr.—gigas, a giant. Tuft 1–2 ft. and more broad, in


many imbricated layers, fleshy-pliant then somewhat coriaceous.
Pilei date-brown, dimidiate, very broad, flaccid, somewhat zoned,
rivulose, depressed behind. Stems connato-branched from a
common tuber. Pores minute, somewhat round, pallid, at length
torn.
The rigid cuticle separates into granules or fibrillose squamules.
Pores becoming dark when touched. Fries.
Edible, Curtis. Esculent when young. On the continent its esculent
qualities are known and appreciated. Cooke.
West Virginia, Chester county, Pa., Eagle’s Mere, Pa. On decaying
stumps and roots. McIlvaine.
It is well marked by its spore-surface becoming black to the touch.
When young and fresh it stews to a pleasant, edible consistency, but
is tough if not well cooked or too old. The flavor of a gravy from it is
at all times good.

P. sulphu´reus Fr.—sulphur, brimstone. (Plate CXXV, fig. 2, p. 476.)


In many cespitose layers, 1–2 ft. and more, juicy-cheesy. Pilei 8 in.
or more broad, reddish-yellow, imbricated, undulated, rather
smooth. Flesh light yellowish, then white, splitting open and not
hardened when old. Pores minute, plane, sulphur-yellow. Fries.
Soon becoming pale. Commonly sessile, but varying with a stem,
lateral on standing trees, but expanded on all sides on fallen ones;
also club-shaped, porous throughout. Sow. In its fullest vigor it is
filled with sulphur-yellow milk.
On living trees and stumps. Frequent. August to October. Stevenson.
Spores oval, white, minutely papillose, 8×5µ W.G.S.; elliptical,
hyaline, slightly papillose, 7–8×4–5µ Massee.
Edible. Stevenson, Curtis.
Maryland, Miss Banning; Indiana, H.I. Miller; West Virginia, New
Jersey, Pennsylvania. On willow, apple, cherry, maple, hickory, etc.
Frequent. August to November. McIlvaine.
Frequently in large masses. Commonly broadly attached, but
sometimes with a short stem. Very occasionally a single pileus will
protrude from a tree like a giant yellow tongue shaded with reddish-
orange. Usually the pilei are in clusters united in a solid base, white-
fleshed and rich in color. I have seen clusters two feet across. On an
old willow at Mt. Gretna, a cluster 18 in. across afforded a dozen
meals. Whenever a meal was wanted a pound or two was broken
off. It lasted until January. If P. sulphureus is cooked properly it is a
delicious fungus. Cut fine, stew slowly and well, season, add butter,
milk with a little thickening.

P. macula´tus Pk.—having maculæ-spots. Pileus of a cheesy


consistence, broad, flattened, sometimes confluent, sessile or
narrowed into a short stem, slightly uneven, white or yellowish-
white, marked with darker zones and watery spots. Pores minute,
subangular, short, whitish, sometimes tinged with brown. Flesh
white.
Pileus 4–6 in. broad, 6–8 lines thick.
Prostrate trunks of trees in woods. Worcester. July.
In texture and shape this species is related to P. sulphureus, but the
pores are smaller than in that species. The plants are sometimes
cespitose, sometimes single. The spots in the dried specimens have
a smooth depressed appearance. Peck, 26th Rep.
Angora, West Philadelphia. September, 1896. Mt. Gretna, Pa.,
September, 1897–1898. On white oak trunks. McIlvaine.
Several specimens of different ages proved good eating. Like P.
sulphureus it must be well cooked.

P. hetero´clitus Fr. Gr—one of two; Gr, to lean. In many cespitose


layers, coriaceous. Pilei 2½ in. broad, orange, sessile, expanded on
all sides from a radical tubercle, lobed, villous, zoneless. Pores
irregularly shaped and elongated, golden-yellow. Fries.
On the ground under oak. Rare.
The flat pilei extend horizontally from the tubercle. Irregular,
eccentric. Stevenson.
Minnesota, Johnson.
Haddonfield, N.J., Hopkin’s woods. June to July, 1890–1896.
McIlvaine.
Of all fungoid growth this is the most showy. Its clusters, often a
foot and a half in diameter and spread like mammoth dahlias, are
gorgeous in color and conspicuous in design. Resting upon the
ground or reared against the base of tree or stump, they deceive by
their likeness to gaudy bouquets, left by foreign picnickers. In quality
it is the same as P. sulphureus. It does not, however, retain its
edibility. As it ages it becomes offensive.

P. por´ipes Fr.—porous-stemmed. Pileus 1.5–3 in. broad, rather


fleshy, sinuately repand, smooth, grayish-brown. Stem central or
excentric, firm, smooth, 1.5–3 in. long, 4–6 lines thick, punctuated
by the whitish decurrent pores.
On earth in hilly regions.
Cap 2 in. across, light drab, smooth, slightly furfuraceous toward
center, broken into minute appressed squamules, zoned. Flesh
fibrous, white-pliable. Tubes very shallow, round mouths with
obtuse divisions, china-white, running down to base of stem. Stem
eccentric, almost lateral, entirely surrounded by pores, connate at
base, ½ in. thick.
Smell pleasant.
New York. Ground. August, Peck, Rep. 24; Mt. Gretna, Pa., August to
November, McIlvaine. A large tufted species growing on the ground
in woods, August to November, McIlvaine.
When raw tastes like the best chestnuts or filberts, but rather too
dry cooked. Curtis.
It must be chopped fine and slowly cooked.

P. immi´tis Pk.—wide, rude. Pilei cespitose-imbricated, broad,


slightly convex or flattened, more or less rough or uneven, radiately-
wrinkled, tuberculose or fibrous-bristled, zoneless, white, becoming
tinged with yellow or alutaceous in drying. Flesh white, slightly
fibrous, soft and moist when fresh, cheesy when dry, with a subacid
odor. Pores minute, angular or even subflexuous, about equal in
length to the thickness of the pileus, the dissepiments thin, white,
often at length dentate or lacerate on the edge. Spores minute,
white, elliptical, 3–4×18–20µ.
Pilei 2–4 in. broad, the flesh commonly 3–4 lines thick.
Decaying ash trunks. East Berne. August.
The species is apparently related to P. cæsareus, but the character
of the pores is quite different in the two species. Peck, 35th Rep.
N.Y. State Bot.
Mt. Gretna, Pa. On dead black oak. August to November, 1898.
Several clusters grew on dead black oaks. The pilei overlap and the
wrinkled corrugated margins curve downward, giving them the
semblance of shells. From a distance a group looks like Pleurotus
ostreatus. The substance is juicy; while cooking it is at first bitter,
but this disappears. It becomes tender and well flavored.
P. alliga´tus Fr.—alligo, to bind to. In many cespitose layers,
fibrous-fleshy, rigid-fragile. Pilei tan-isabelline, imbricated, unequal,
zoneless, villous. Pores minute, soft, white, readily becoming
stopped up with flocci.
Often clavate when young. Commonly wrapping round stipules and
grasses. Fries.
Spores elliptical, pale, 6×7µ Massee.
Woodland Cemetery, Philadelphia. Among oak trees on grassy
ground. July, August, September. McIlvaine.
Tufts frequently weigh two pounds. When young the plant cooks
well, is tender and of sweet, pleasant flavor. When old it has a sour
unpleasant odor.
IV.—Apus.

P. chio´neus Fr. Gr—snow. White pileus 1 in. and more broad,


fleshy, soft, becoming even, smooth, zoneless, often extended
behind, margin inflexed. Pores curt, very small, round, equal, quite
entire. Fries.
Always soft, fragile, hyaline-white when moist, shining white when
dry. Odor acid. Without a cuticle. Stevenson.
Spores white, oval, 21×3µ W.G.S.
New York. Decaying wood of frondose trees. Peck, 33d Rep.
Angora, Philadelphia, Mt. Gretna, Pa. On standing and fallen timber.
June to September. McIlvaine.
This snow-white Polyporus is too conspicuous to be passed unseen.
One does not expect to find snow-balls stuck against trees in
August. At a distance it resembles one. When young and fresh it is
good.
P. betuli´nus Fr.—betula, birch. Pileus fleshy, then corky, hoof-
shaped, obtuse, zoneless, smooth, the oblique vertex in the form of
an umbo, pellicle thin, separating. Pores late of being developed,
curt, minute, unequal, at length separating. Fries.
On living and dead birch. Common. May to December.
Pileus 3–6 in. broad. The pileus is at first pale, then acquiring a
brownish tinge. The edge is always very obtuse. Stevenson.
The lower surface or hymenium is frequently rough with numerous
acicular projections, making the plant look like a Hydnum when
viewed horizontally. Peck, 24th Rep. N.Y. State Bot.
Massachusetts, Kansas, New York. Peck, Rep. 24.
Wherever the birch grows this neat, white-fleshed Polyporus
abounds.
When young it is eaten by deer. Dried it burns with a white flame, or
holds fire as well as the best punk. It is a valuable fuel, already
prepared for the stove. In the birch forests near Eagle’s Mere, Pa.,
tons of it can be seen protruding from tree and log.
When very young it is fair. Unpleasant when old.
V.—Resupinati.

P. sinuo´sus Fr.—full of folds. Broadly effused, adnate, dry, the


evanescent mycelium somewhat rooting, white then yellowish.
Pores large, surface flexuous, acute, lacerated. Odor of licorice.
New York. Decaying wood of maple. Peck, 40th Rep.
Mt. Gretna, Pa. McIlvaine.
Of but little food value. Collected carefully and boiled, it yields a
pleasantly flavored liquor.
MERU´LIUS Hall.

(Plate CXXVI, fig. 3, p. 478.)

Hymenophore resting on a loose mold-like mycelium, covered with


the soft, waxy, continuous hymenium, having its surface variously
plicate or wrinkled, the folds forming irregular pores, sometimes
obsoletely toothed.
Generally on wood.
I have tasted, raw, every species I have found. They are all more or
less woody in flavor, and I believe them to be edible. At the best
Merulius would be an emergency genus. M. tremellosus is
substantial, as is M. rubellus Pk.

M. tremello´sus Schrad.—tremellosus, trembling. Resupinate;


margin becoming free and more or less reflexed, usually radiately-
toothed, gelatinoso-cartilaginous; hymenium variously wrinkled and
porous; whitish and subtranslucent looking, becoming tinged brown
in the center. Spores cylindrical, curved, about 4×1µ.
On wood. From 1–3 in. across, remaining pale when growing in dark
places. Margin sometimes tinged rose, radiating when well
developed. Massee.
Spores cylindrical, curved, hyaline, 4×1µ K.
New York. Old logs, stumps, Catskill mountains. Peck, 22d Rep. N.Y.
State Bot.
Mt. Gretna, Pa. Common, both rose-colored and translucent brown
species, numerous on decaying wood. October to November, 1898–
1899. McIlvaine.
M. tremellosus is a common species and rather attractive looking. In
substance it approaches Tremella and Peziza. The spore-bearing
surface is superior (turned upward) and then sometimes turned in at
the margin which frequently is bright rose color, sometimes
yellowish-rose. It is rather tasteless—slightly woody in flavor, rather
tough. An emergency species.

M. rubel´lus Pk.—rubellus, dim. of ruber, reddish. Generally


cespitose, imbricated, sessile, dimidiate, soft, tenacious, tomentose,
evenly red, pale when dry; margin mostly undulately inflexed;
hymenium white or flesh-color; folds branching, forming
anastomosing pores. Spores elliptical, hyaline, minute, 4–5×2.5–3µ.
Pileus 2–3 in. long, 1.5 in. broad.
Somewhat related to M. tremellosus.
On trunks of beech in woods.
Ohio, Morgan; Indiana, Dr. J.R. Weist; Mt. Gretna, Pa., November.
McIlvaine. Specimens identified by Professor Peck.
Tough, but edible.
FAMILY III.—HYDNA´CEÆ.
Hymenium inferior or amphigenous (not confined to one surface),
from the first definitely protuberant, spread over persistent spines,
bristles, teeth, tubercles or papilla. Fries.
While the highest members of this family possess the general form
of the mushroom, others, lacking a stem, recline on the back
(resupinate); the lowest, without even the appearance of a distinct
pileus, seem to be simply spread over the supporting body (effused).
In the highest class the spines or other spore-bearing surface are
inferior, i. e., below the pileus; in the others they are of course
superior, i. e., above the pileus.
Of the eleven genera but two contain species of food value.
Hydnum, characterized by its acute spines, embraces species which
are eaten as delicacies, and Irpex, distinguished by its somewhat
acute teeth growing from a ridgy hymenium, contains those which
may furnish sustenance in time of need. In Caldesia, bearing spines,
the texture is floccose not fleshy. Sistotrema has a pileus and a
central stem, but instead of spines bears irregular flattened teeth.
The remaining genera are separated by the tubercles, granules,
folds, etc., which take the place of spines or teeth.
Several species of Hydnum are common to earth and wood, others
are distinct in their habitats.

SYNOPSIS OF THE GENERA.

Hydnum. Page 494.

Sporophore fleshy, with a central stem or entirely resupinate, texture


compact, spines acute, distinct at the base.

Caldesiella.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookluna.com

You might also like