- Home
- » Browse
- » C# 6 for programmers
- » Book
C# 6 for programmers
(Book)
Author
Contributors
Deitel, Harvey M., 1945- author.
Published
Boston : Prentice Hall, [2017].
Edition
Sixth edition.
ISBN
9780134596327, 0134596323
Physical Desc
xxxiv, 734 pages ; 24 cm.
Status
Available from another library
Copies
Location | Call Number | Status |
---|---|---|
Lexington - Adult | 005.133 (C#) D | On Shelf |
More Details
Published
Boston : Prentice Hall, [2017].
Format
Book
Edition
Sixth edition.
Language
English
ISBN
9780134596327, 0134596323
Notes
General Note
Includes index.
Subjects
LC Subjects
Table of Contents
Machine generated contents note: 1.1. Introduction --
1.2. Object Technology: A Brief Review --
1.3. C# --
1.3.1. Object-Oriented Programming --
1.3.2. Event-Driven Programming --
1.3.3. Visual Programming --
1.3.4. Generic and Functional Programming --
1.3.5. International Standard --
1.3.6. C# on Non-Windows Platforms --
1.3.7. Internet and Web Programming --
1.3.8. Asynchronous Programming with async and await --
1.4. Microsoft's .NET --
1.4.1. .NET Framework --
1.4.2. Common Language Runtime --
1.4.3. Platform Independence --
1.4.4. Language Interoperability --
1.5. Microsoft's Windows® Operating System --
1.6. Visual Studio Integrated Development Environment --
1.7. Painter Test-Drive in Visual Studio Community --
2.1. Introduction --
2.2. Overview of the Visual Studio Community 2015 IDE --
2.2.1. Introduction to Visual Studio Community 2015 --
2.2.2. Visual Studio Themes --
2.2.3. Links on the Start Page --
2.2.4. Creating a New Project --
2.2.5. New Project Dialog and Project Templates --
2.2.6. Forms and Controls --
2.3. Menu Bar and Toolbar --
2.4. Navigating the Visual Studio IDE --
2.4.1. Solution Explorer --
2.4.2. Toolbox --
2.4.3. Properties Window --
2.5. Help Menu and Context-Sensitive Help --
2.6. Visual Programming: Creating a Simple App that Displays Text and an Image --
2.7. Wrap-Up --
2.8. Web Resources --
3.1. Introduction --
3.2. Simple App: Displaying a Line of Text --
3.2.1. Comments --
3.2.2. using Directive --
3.2.3. Blank Lines and Whitespace --
3.2.4. Class Declaration --
3.2.5. Main Method --
3.2.6. Displaying a Line of Text --
3.2.7. Matching Left ({) and Right (}) Braces --
3.3. Creating a Simple App in Visual Studio --
3.3.1. Creating the Console App --
3.3.2. Changing the Name of the App File --
3.3.3. Writing Code and Using IntelliSense --
3.3.4. Compiling and Running the App --
3.3.5. Errors, Error Messages and the Error List Window --
3.4. Modifying Your Simple C# App --
3.4.1. Displaying a Single Line of Text with Multiple Statements --
3.4.2. Displaying Multiple Lines of Text with a Single Statement --
3.5. String Interpolation --
3.6. Another C# App: Adding Integers --
3.6.1. Declaring the int Variable number1 --
3.6.2. Declaring Variables number2 and sum --
3.6.3. Prompting the User for Input --
3.6.4. Reading a Value into Variable number1 --
3.6.5. Prompting the User for Input and Reading a Value into number2 --
3.6.6. Summing number1 and number2 --
3.6.7. Displaying the sum with string Interpolation --
3.6.8. Performing Calculations in Output Statements --
3.7. Arithmetic --
3.7.1. Arithmetic Expressions in Straight-Line Form --
3.7.2. Parentheses for Grouping Subexpressions --
3.7.3. Rules of Operator Precedence --
3.8. Decision Making: Equality and Relational Operators --
3.9. Wrap-Up --
4.1. Introduction --
4.2. Test-Driving an Account Class --
4.2.1. Instantiating an Object-Keyword new --
4.2.2. Calling Class Account's GetName Method --
4.2.3. Inputting a Name from the User --
4.2.4. Calling Class Account's SetName Method --
4.3. Account Class with an Instance Variable and Set and Get Methods --
4.3.1. Account Class Declaration --
4.3.2. Keyword class and the Class Body --
4.3.3. Instance Variable name of Type string --
4.3.4. SetName Method --
4.3.5. GetName Method --
4.3.6. Access Modifiers private and public --
4.3.7. Account UML Class Diagram --
4.4. Creating, Compiling and Running a Visual C# Project with Two Classes --
4.5. Software Engineering with Set and Get Methods --
4.6. Account Class with a Property Rather Than Set and Get Methods --
4.6.1. Class AccountTest Using Account's Name Property --
4.6.2. Account Class with an Instance Variable and a Property --
4.6.3. Account UML Class Diagram with a Property --
4.7. Auto-Implemented Properties --
4.8. Account Class: Initializing Objects with Constructors --
4.8.1. Declaring an Account Constructor for Custom Object Initialization --
4.8.2. Class AccountTest: Initializing Account Objects When They're Created --
4.9. Account Class with a Balance; Processing Monetary Amounts --
4.9.1. Account Class with a decimal balance Instance Variable --
4.9.2. AccountTest Class That Uses Account Objects with Balances --
4.10. Wrap-Up --
5.1. Introduction --
5.2. Control Structures --
5.2.1. Sequence Structure --
5.2.2. Selection Statements --
5.2.3. Iteration Statements --
5.2.4. Summary of Control Statements --
5.3. if Single-Selection Statement --
5.4. if ...else Double-Selection Statement --
5.4.1. Nested if...else Statements --
5.4.2. Dangling-else Problem --
5.4.3. Blocks --
5.4.4. Conditional Operator (? :) --
5.5. Student Class: Nested if ...else Statements --
5.6. while Iteration Statement --
5.7. Counter-Controlled Iteration --
5.7.1. Implementing Counter-Controlled Iteration --
5.7.2. Integer Division and Truncation --
5.8. Sentinel-Controlled Iteration --
5.8.1. Implementing Sentinel-Controlled Iteration --
5.8.2. Program Logic for Sentinel-Controlled Iteration --
5.8.3. Braces in a whi le Statement --
5.8.4. Converting Between Simple Types Explicitly and Implicitly --
5.8.5. Formatting Floating-Point Numbers --
5.9. Nested Control Statements --
5.10. Compound Assignment Operators --
5.11. Increment and Decrement Operators --
5.11.1. Prefix Increment vs. Postfix Increment --
5.11.2. Simplifying Increment Statements --
5.11.3. Operator Precedence and Associativity --
5.12. Simple Types --
5.13. Wrap-Up --
6.1. Introduction --
6.2. Essentials of Counter-Controlled Iteration --
6.3. for Iteration Statement --
6.3.1. Closer Look at the for Statement's Header --
6.3.2. General Format of a for Statement --
6.3.3. Scope of a for Statement's Control Variable --
6.3.4. Expressions in a for Statement's Header Are Optional --
6.3.5. UML Activity Diagram for the for Statement --
6.4. App: Summing Even Integers --
6.5. App: Compound-Interest Calculations --
6.5.1. Performing the Interest Calculations with Math Method pow --
6.5.2. Formatting with Field Widths and Alignment --
6.5.3. Caution: Do Not Use float or double for Monetary Amounts --
6.6. do ...while Iteration Statement --
6.7. switch Multiple-Selection Statement --
6.7.1. Using a switch Statement to Count A, B, C, D and F Grades --
6.7.2. switch Statement UML Activity Diagram --
6.7.3. Notes on the Expression in Each case of a switch --
6.8. Class AutoPolicy Case Study: strings in switch Statements --
6.9. break and continue Statements --
6.9.1. break Statement --
6.9.2. continue Statement --
6.10. Logical Operators --
6.10.1. Conditional AND (&&) Operator --
6.10.2. Conditional OR ( ) Operator --
6.10.3. Short-Circuit Evaluation of Complex Conditions --
6.10.4. Boolean Logical AND (&) and Boolean Logical OR (I) Operators --
6.10.5. Boolean Logical Exclusive OR (A) --
6.10.6. Logical Negation (! ) Operator --
6.10.7. Logical Operators Example --
6.11. Wrap-Up --
7.1. Introduction --
7.2. Packaging Code in C# --
7.3. static Methods, static Variables and Class Math --
7.3.1. Math Class Methods --
7.3.2. Math Class Constants PI and E --
7.3.3. Why Is Main Declared static? --
7.3.4. Additional Comments About Main --
7.4. Methods with Multiple Parameters --
7.4.1. Keyword static --
7.4.2. Method Maxi mum --
7.4.3. Assembling strings with Concatenation --
7.4.4. Breaking Apart Large string Literals --
7.4.5. When to Declare Variables as Fields --
7.4.6. Implementing Method Maxi mum by Reusing Method Math.Max --
7.5. Notes on Using Methods --
7.6. Argument Promotion and Casting --
7.6.1. Promotion Rules --
7.6.2. Sometimes Explicit Casts Are Required --
7.7. .NET Framework Class Library --
7.8. Case Study: Random-Number Generation --
7.8.1. Creating an Object of Type Random --
7.8.2. Generating a Random Integer --
7.8.3. Scaling the Random-Number Range --
7.8.4. Shifting Random-Number Range --
7.8.5. Combining Shifting and Scaling --
7.8.6. Rolling a Six-Sided Die --
7.8.7. Scaling and Shifting Random Numbers --
7.8.8. Repeatability for Testing and Debugging --
7.9. Case Study: A Game of Chance; Introducing Enumerations --
7.9.1. Method RollDice --
7.9.2. Method Main's Local Variables --
7.9.3. enum Type Status --
7.9.4. First Roll --
7.9.5. enum Type Di ceNames --
7.9.6. Underlying Type of an enum --
7.9.7. Comparing Integers and enum Constants --
7.10. Scope of Declarations --
7.11. Method-Call Stack and Activation Records --
7.11.1. Method-Call Stack --
7.11.2. Stack Frames --
7.11.3. Local Variables and Stack Frames --
7.11.4. Stack Overflow --
7.11.5. Method-Call Stack in Action --
7.12. Method Overloading --
7.12.1. Declaring Overloaded Methods --
7.12.2. Distinguishing Between Overloaded Methods --
7.12.3. Return Types of Overloaded Methods --
7.13. Optional Parameters --
7.14. Named Parameters --
7.15. C# 6 Expression-Bodied Methods and Properties --
7.16. Recursion --
7.16.1. Base Cases and Recursive Calls --
7.16.2. Recursive Factorial Calculations --
7.16.3. Implementing Factorial Recursively --
7.17. Value Types vs. Reference Types --
7.18. Passing Arguments By Value and By Reference --
7.18.1. ref and out Parameters --
7.18.2. Demonstrating ref, out and Value Parameters --
7.19. Wrap-Up --
8.1. Introduction --
8.2. Arrays --
8.3. Declaring and Creating Arrays --
8.4. Examples Using Arrays --
8.4.1. Creating and Initializing an Array --
8.4.2. Using an Array Initializer
Note continued: 8.4.3. Calculating a Value to Store in Each Array Element --
8.4.4. Summing the Elements of an Array --
8.4.5. Iterating Through Arrays with foreach --
8.4.6. Using Bar Charts to Display Array Data Graphically; Introducing Type Inference with var --
8.4.7. Using the Elements of an Array as Counters --
8.5. Using Arrays to Analyze Survey Results; Intro to Exception Handling --
8.5.1. Summarizing the Results --
8.5.2. Exception Handling: Processing the Incorrect Response --
8.5.3. try Statement --
8.5.4. Executing the catch Block --
8.5.5. Message Property of the Exception Parameter --
8.6. Case Study: Card Shuffling and Dealing Simulation --
8.6.1. Class Card and Getter-Only Auto-Implemented Properties --
8.6.2. Class DeckOfCards --
8.6.3. Shuffling and Dealing Cards --
8.7. Passing Arrays and Array Elements to Methods --
8.8. Case Study: GradeBook Using an Array to Store Grades --
8.9. Multidimensional Arrays --
8.9.1. Rectangular Arrays --
8.9.2. Jagged Arrays --
8.9.3. Two-Dimensional Array Example: Displaying Element Values --
8.10. Case Study: GradeBook Using a Rectangular Array --
8.11. Variable-Length Argument Lists --
8.12. Using Command-Line Arguments --
8.13. (Optional) Passing Arrays by Value and by Reference --
8.14. Wrap-Up --
9.1. Introduction --
9.2. Querying an Array of int Values Using LINQ --
9.2.1. from Clause --
9.2.2. where Clause --
9.2.3. select Clause --
9.2.4. Iterating Through the Results of the LINQ Query --
9.2.5. orderby Clause --
9.2.6. Interface IEnumerable --
9.3. Querying an Array of Employee Objects Using LINQ --
9.3.1. Accessing the Properties of a LINQ Query's Range Variable --
9.3.2. Sorting a LINQ Query's Results by Multiple Properties --
9.3.3. Any, First and Count Extension Methods --
9.3.4. Selecting a Property of an Object --
9.3.5. Creating New Types in the select Clause of a LINQ Query --
9.4. Introduction to Collections --
9.4.1. List Collection --
9.4.2. Dynamically Resizing a List Collection --
9.5. Querying the Generic List Collection Using LINQ --
9.5.1. let Clause --
9.5.2. Deferred Execution --
9.5.3. Extension Methods ToArray and ToList --
9.5.4. Collection Initializers --
9.6. Wrap-Up --
9.7. Deitel LINQ Resource Center --
10.1. Introduction --
10.2. Time Class Case Study; Throwing Exceptions --
10.2.1. Time1 Class Declaration --
10.2.2. Using Class Time1 --
10.3. Controlling Access to Members --
10.4. Referring to the Current Object's Members with the this Reference --
10.5. Time Class Case Study: Overloaded Constructors --
10.5.1. Class Time2 with Overloaded Constructors --
10.5.2. Using Class Time2's Overloaded Constructors --
10.6. Default and Parameterless Constructors --
10.7. Composition --
10.7.1. Class Date --
10.7.2. Class Employee --
10.7.3. Class EmployeeTest --
10.8. Garbage Collection and Destructors --
10.9. static Class Members --
10.10. readonlly Instance Variables --
10.11. Class View and Object Browser --
10.11.1. Using the Class View Window --
10.11.2. Using the Object Browser --
10.12. Object Initializers --
10.13. Operator Overloading; Introducing struct --
10.13.1. Creating Value Types with struct --
10.13.2. Value Type ComplexNumber --
10.13.3. Class ComplexTest --
10.14. Time Class Case Study: Extension Methods --
10.15. Wrap-Up --
11.1. Introduction --
11.2. Base Classes and Derived Classes --
11.3. protected Members --
11.4. Relationship between Base Classes and Derived Classes --
11.4.1. Creating and Using a Commission Employee Class --
11.4.2. Creating a BasePlusCommissionEmployee Class without Using Inheritance --
11.4.3. Creating a CommissionEmployee-BasePlusCommissionEmployee Inheritance Hierarchy --
11.4.4. CommissionEmployee-BasePlusCommissionEmployee Inheritance Hierarchy Using protected Instance Variables --
11.4.5. Commission Employee-Base PlusCommission Employee Inheritance Hierarchy Using private Instance Variables --
11.5. Constructors in Derived Classes --
11.6. Software Engineering with Inheritance --
11.7. Class object --
11.8. Wrap-Up --
12.1. Introduction --
12.2. Polymorphism Examples --
12.3. Demonstrating Polymorphic Behavior --
12.4. Abstract Classes and Methods --
12.5. Case Study: Payroll System Using Polymorphism --
12.5.1. Creating Abstract Base Class Employee --
12.5.2. Creating Concrete Derived Class SalariedEmployee --
12.5.3. Creating Concrete Derived Class HourlyEmployee --
12.5.4. Creating Concrete Derived Class CommissionEmployee --
12.5.5. Creating Indirect Concrete Derived Class BasePlusCommissionEmployee --
12.5.6. Polymorphic Processing, Operator is and Downcasting --
12.5.7. Summary of the Allowed Assignments Between Base-Class and Derived-Class Variables --
12.6. sealed Methods and Classes --
12.7. Case Study: Creating and Using Interfaces --
12.7.1. Developing an IPayable Hierarchy --
12.7.2. Declaring Interface IPayable --
12.7.3. Creating Class Invoice --
12.7.4. Modifying Class Employee to Implement Interface IPayable --
12.7.5. Using Interface IPayable to Process Invoices and Employees Polymorphically --
12.7.6. Common Interfaces of the .NET Framework Class Library --
12.8. Wrap-Up --
13.1. Introduction --
13.2. Example: Divide by Zero without Exception Handling --
13.2.1. Dividing By Zero --
13.2.2. Enter a Non-Numeric Denominator --
13.2.3. Unhandled Exceptions Terminate the App --
13.3. Example: Handling DivideByZeroExceptions and FormatExceptions --
13.3.1. Enclosing Code in a try Block --
13.3.2. Catching Exceptions --
13.3.3. Uncaught Exceptions --
13.3.4. Termination Model of Exception Handling --
13.3.5. Flow of Control When Exceptions Occur --
13.4. .NET Exception Hierarchy --
13.4.1. Class SystemException --
13.4.2. Which Exceptions Might a Method Throw? --
13.5. finally Block --
13.5.1. Moving Resource-Release Code to a finally Block --
13.5.2. Demonstrating the finally Block --
13.5.3. Throwing Exceptions Using the throw Statement --
13.5.4. Rethrowing Exceptions --
13.5.5. Returning After a finally Block --
13.6. using Statement --
13.7. Exception Properties --
13.7.1. Property InnerException --
13.7.2. Other Exception Properties --
13.7.3. Demonstrating Exception Properties and Stack Unwinding --
13.7.4. Throwing an Exception with an InnerException --
13.7.5. Displaying Information About the Exception --
13.8. User-Defined Exception Classes --
13.9. Checking for null References; Introducing C# 6's ?.Operator --
13.9.1. Null-Conditional Operator (?.) --
13.9.2. Revisiting Operators is and as --
13.9.3. Nullable Types --
13.9.4. Null Coalescing Operator (??) --
13.10. Exception Filters and the C# 6 when Clause --
13.11. Wrap-Up --
14.1. Introduction --
14.2. Windows Forms --
14.3. Event Handling --
14.3.1. Simple Event-Driven GUI --
14.3.2. Auto-Generated GUI Code --
14.3.3. Delegates and the Event-Handling Mechanism --
14.3.4. Another Way to Create Event Handlers --
14.3.5. Locating Event Information --
14.4. Control Properties and Layout --
14.4.1. Anchoring and Docking --
14.4.2. Using Visual Studio To Edit a GUI's Layout --
14.5. Labels, TextBoxes and Buttons --
14.6. GroupBoxes and Panels --
14.7. CheckBoxes and RadioButtons --
14.7.1. CheckBoxes --
14.7.2. Combining Font Styles with Bitwise Operators --
14.7.3. RadioButtons --
14.8. PictureBoxes --
14.9. Tool Tips --
14.10. NumericUpDown Control --
14.11. Mouse-Event Handling --
14.12. Keyboard-Event Handling --
14.13. Wrap-Up --
15.1. Introduction --
15.2. Menus --
15.3. MonthCalendar Control --
15.4. DateTimePicker Control --
15.5. LinkLabel Control --
15.6. ListBox Control --
15.7. CheckedListBox Control --
15.8. ComboBox Control --
15.9. TreeVi ew Control --
15.10. ListView Control --
15.11. TabControl Control --
15.12. Multiple Document Interface (MDI) Windows --
15.13. Visual Inheritance --
15.14. User-Defined Controls --
15.15. Wrap-Up --
16.1. Introduction --
16.2. Fundamentals of Characters and Strings --
16.3. string Constructors --
16.4. string Indexer, Length Property and CopyTo Method --
16.5. Comparing strings --
16.6. Locating Characters and Substrings in strings --
16.7. Extracting Substrings from strings --
16.8. Concatenating strings --
16.9. Miscellaneous string Methods --
16.10. Class StringBuilder --
16.11. Length and Capacity Properties, EnsureCapacity Method and Indexer of Class StringBuilder --
16.12. Append and AppendFormat Methods of Class StringBuilder --
16.13. Insert, Remove and Replace Methods of Class StringBuilder --
16.14. Char Methods --
16.15. Introduction to Regular Expressions (Online) --
16.16. Wrap-Up --
17.1. Introduction --
17.2. Files and Streams --
17.3. Creating a Sequential-Access Text File --
17.4. Reading Data from a Sequential-Access Text File --
17.5. Case Study: Credit-Inquiry Program --
17.6. Serialization --
17.7. Creating a Sequential-Access File Using Object Serialization --
17.8. Reading and Deserializing Data from a Binary File --
17.9. Classes File and Di rectory --
17.9.1. Demonstrating Classes File and Di rectory --
17.9.2. Searching Directories with LINQ --
17.10. Wrap-Up --
18.1. Introduction --
18.2. Motivation for Generic Methods --
18.3. Generic-Method Implementation --
18.4. Type Constraints --
18.4.1. IComparable Interface --
18.4.2. Specifying Type Constraints --
18.5. Overloading Generic Methods --
18.6. Generic Classes --
18.7. Wrap-Up
Note continued: 19.1. Introduction --
19.2. Collections Overview --
19.3. Class Array and Enumerators --
19.3.1. C# 6 using static Directive --
19.3.2. Class Usi ngArray's static Fields --
19.3.3. Array Method Sort --
19.3.4. Array Method Copy --
19.3.5. Array Method BinarySearch --
19.3.6. Array Method GetEnumerator and Interface IEnumerator --
19.3.7. Iterating Over a Collection with foreach --
19.3.8. Array Methods Clear, IndexOf, LastIndexOf and Reverse --
19.4. Dictionary Collections --
19.4.1. Dictionary Fundamentals --
19.4.2. Using the SortedDictionary Collection --
19.5. Generic LinkedList Collection --
19.6. C# 6 Null Conditional Operator ?[] --
19.7. C# 6 Dictionary Initializers and Collection Initializers --
19.8. Delegates --
19.8.1. Declaring a Delegate Type --
19.8.2. Declaring a Delegate Variable --
19.8.3. Delegate Parameters --
19.8.4. Passing a Method Name Directly to a Delegate Parameter --
19.9. Lambda Expressions --
19.9.1. Expression Lambdas --
19.9.2. Assigning Lambdas to Delegate Variables --
19.9.3. Explicitly Typed Lambda Parameters --
19.9.4. Statement Lambdas --
19.10. Introduction to Functional Programming --
19.11. Functional Programming with LINQ Method-Call Syntax and Lambdas --
19.11.1. LINQ Extension Methods Min, Max, Sum and Average --
19.11.2. Aggregate Extension Method for Reduction Operations --
19.11.3. Where Extension Method for Filtering Operations --
19.11.4. Select Extension Method for Mapping Operations --
19.12. PLINQ: Improving LINQ to Objects Performance with Multicore --
19.13. (Optional) Covariance and Contravariance for Generic Types --
19.14. Wrap-Up --
20.1. Introduction --
20.2. Relational Databases --
20.3. Books Database --
20.4. LINQ to Entities and the ADO.NET Entity Framework --
20.5. Querying a Database with LINQ --
20.5.1. Creating the ADO.NET Entity Data Model Class Library --
20.5.2. Creating a Windows Forms Project and Configuring It to Use the Entity Data Model --
20.5.3. Data Bindings Between Controls and the Entity Data Model --
20.6. Dynamically Binding Query Results --
20.6.1. Creating the Display Query Results GUI --
20.6.2. Coding the Display Query Results App --
20.7. Retrieving Data from Multiple Tables with LINQ --
20.8. Creating a Master/Detail View App --
20.8.1. Creating the Master/Detail GUI --
20.8.2. Coding the Master/Detail App --
20.9. Address Book Case Study --
20.9.1. Creating the Address Book App's GUI --
20.9.2. Coding the Address Book App --
20.10. Tools and Web Resources --
20.11. Wrap-Up --
21.1. Introduction --
21.2. Basics of async and await --
21.2.1. async Modifier --
21.2.2. await Expression --
21.2.3. async, await and Threads --
21.3. Executing an Asynchronous Task from a GUI App --
21.3.1. Performing a Task Asynchronously --
21.3.2. Method calculateButton_Click --
21.3.3. Task Method Run: Executing Asynchronpusly in a Separate Thread --
21.3.4. awaiting the Result --
21.3.5. Calculating the Next Fibonacci Value Synchronously --
21.4. Sequential Execution of Two Compute-Intensive Tasks --
21.5. Asynchronous Execution of Two Compute-Intensive Tasks --
21.5.1. awaiting Multiple Tasks with Task Method WhenAll --
21.5.2. Method StartFibonacci --
21.5.3. Modifying a GUI from a Separate Thread --
21.5.4. awaiting One of Several Tasks with Task Method WhenAny --
21.6. Invoking a Flickr Web Service Asynchronously with HttpClient --
21.6.1. Using Class HttpClient to Invoke a Web Service --
21.6.2. Invoking the Flickr Web Service's flickr.photos.search Method --
21.6.3. Processing the XML Response --
21.6.4. Binding the Photo Titles to the ListBox --
21.6.5. Asynchronously Downloading an Image's Bytes --
21.7. Displaying an Asynchronous Task's Progress --
21.8. Wrap-Up.
Description
Loading Description...
Excerpt
Loading Excerpt...
Author Notes
Loading Author Notes...
Citations
APA Citation, 7th Edition (style guide)
Deitel, P. J., & Deitel, H. M. (2017). C# 6 for programmers (Sixth edition.). Prentice Hall.
Chicago / Turabian - Author Date Citation, 17th Edition (style guide)Deitel, Paul J. and Harvey M. Deitel. 2017. C# 6 for Programmers. Prentice Hall.
Chicago / Turabian - Humanities (Notes and Bibliography) Citation, 17th Edition (style guide)Deitel, Paul J. and Harvey M. Deitel. C# 6 for Programmers Prentice Hall, 2017.
MLA Citation, 9th Edition (style guide)Deitel, Paul J.,, and Harvey M. Deitel. C# 6 for Programmers Sixth edition., Prentice Hall, 2017.
Note! Citations contain only title, author, edition, publisher, and year published. Citations should be used as a guideline and should be double checked for accuracy. Citation formats are based on standards as of August 2021.
Staff View
Loading Staff View.