Head First C# will guide beginners of all sorts to a long and productive “[Head First C#] was an easy book to read and understand. Heck, even the PDF I. Head First C# is a complete learning experience for learning how to program with C#, XAML, ruthenpress.info Framework, and Visual Studio. Fun and highly visual, this introduction to C# is designed to keep you engaged and entertained from first page to last. Projects in the book work with. Head First C#, Third Edition - ruthenpress.info - O'Reilly Media ruthenpress.info The Miracle Morning: The.
|Language:||English, Spanish, Dutch|
|Distribution:||Free* [*Register to download]|
Advance Praise for Head First C# “Head First C# is a great book, both for brand new developers and developers like myself coming from a Java background. Head First C# (C sharp) free PDF Book Description Table of Contents (the real thing) Your brain on C#. You're sitting around trying to learn something, but your . Looking for the WPF Learner's Guide to Head First C# (PDF)? You can use this PDF to use different versions of Windows or Visual Studio with.
Private Kathleen is an event planner What does the estimator do? Private fields and methods can only be accessed from inside the class Encapsulation makes your classes Use a constructor to initialize private fields 6. Build the Part y Planner version 2. When your classes use inheritance, you only need to write your code once Dinner parties and birthday parties are both parties Build up your class model by starting general and getting more specific How would you design a zoo simulator?
Use inheritance to avoid duplicate code in subclasses Different animals make different noises Think about what you need to override Think about how to group the animals Create the class hierarchy Every subclass extends its base class C always calls the most specific method Use a colon to inherit from a base class We know that inheritance adds the base class fields, properties, and methods to the subclass Interfaces and Abstract Classes: Enums and Collections: Arrays are hard to work with Lists make it easy to store collections of Generic collections are an important part of the.
Reading and Writing Files: Save the last byte for me! NET uses streams to read and write data Different streams read and write different things Things you can do with a stream: A FileStream reads and writes bytes to a file Write text to a file in three simple steps The Swindler launches another diabolical plan Reading and writing using two objects Data can go through more than one stream Use built-in objects to pop up standard dialog boxes ShowDialog pops up a dialog box Dialog boxes are just another WinForms control Dialog boxes are objects, too Use the built-in File and Directory classes to work with files and directories Things you can do with File: Things you can do with Directory: What needs to be saved?
When an object is serialized, all of the objects it refers to get serialized, too NET uses Unicode to store characters and text C can use byte arrays to move data around Use a BinaryWriter to write binary data Use BinaryReader to read the data back in You can read and write serialized files manually, too Find where the files differ, and use that information to alter them Working with binary files can be tricky Use file streams to build a hex dumper How to make a hex dump Working with hex StreamReader and StreamWriter will do just fine for now Use Stream.
Read to read bytes from a stream II. The Quest XAML controls can contain text Async, Await, and Data Contract Serialization: Exception Handling: When your program throws an exception,. Handle exceptions with try and catch What happens when a method you want to call is risky? Captain Amazing: The stack vs. Events and Delegates: But how does an object KNOW to respond? You need an event handler One object raises its event, others listen for it Architecting Apps with the mvvm Pattern: Great apps on the inside and outside The Head First Basketball Conference needs an app But can they agree on how to build it?
Do you design for binding or for working with data? C Lab Invaders A. The top 10 things we wanted to include in this book 1. The Basics Namespaces and assemblies Use BackgroundWorker to make your WinForms responsive 5. The Type class and GetType 6.
In fact, almost everything you do in programming involves working with data in one way or another.
When you call a method, the arguments must be compatible with the types of the parameters. They need you to build a simulator for them so they can figure out winners before they lay their money down. The spec: Kathleen is an event planner. Ever run across an object that almost does exactly what you want your object to do? Found yourself wishing that if you could just change a few things, that object would be perfect? We know that inheritance adds the base class fields, properties, and methods to the subclass….
But with great power comes great responsibility. They let you store. That way. First Out You need to be able to save your work. NET uses Unicode to store characters and text C can use byte arrays to move data around Use a BinaryWriter to write binary data You can read and write serialized files manually.
NET uses streams to read and write data Different streams read and write different things A FileStream reads and writes bytes to a file Write text to a file in three simple steps The Swindler launches another diabolical plan Reading and writing using two objects Data can go through more than one stream Use built-in objects to pop up standard dialog boxes Dialog boxes are just another WinForms control Use the built-in File and Directory classes to work with files and directories Use file dialogs to open and save files all with just a few lines of code IDisposable makes sure your objects are disposed of properly Avoid filesystem errors with using statements Use a switch statement to choose the right option Add an overloaded Deck constructor that reads a deck of cards in from a file When an object is serialized.
Read to read bytes from a stream xix. They fire up. In this chapter. Sometimes it pays to be a little persistent. NET stream classes. The player can move or attack. The game keeps going until the player either defeats all the enemies on all seven levels or dies. The grid is made up of pixel squares called units. Combine this with data contract serialization. An easy way to avoid a lot of problems: Brian needs his excuses to be mobile Wow.
Nothing pulls you out of the programming groove like having to fix a strange bug. Uh oh! Better yet. When your program throws an exception. LINQ not only lets you query data in a simple. Ever wish your objects could think for themselves? One object publishes an event. Which is great. And when they do. Sometimes things…happen. An example of great building architecture? A beautifully-laid-out page? Those same principles apply to your apps. Bee Attack! But did you know that you can use these same tools to build apps for Windows Phone?
In this bonus project. Use BackgroundWorker to make your WinForms responsive 5. Using yield return to create enumerable objects 8. We had to make some really tough choices about what to include and what to leave out. Namespaces and assemblies 4. The Type class and GetType 6. Windows Presentation Foundation Did you know that C and the. Anonymous types. The Basics 3. Refactoring 9. NET Framework can… Do you know another programming language.
No programming experience is required to use this book. Thousands of beginners with no programming experience have already used Head First C to learn to code. Are you already a good C developer. Do you want to get practice writing lots of code? Who should probably back away from this book? Would you rather have a root canal than mix stripes with plaid?
That could be you! Only more dull. Resources that are better spent storing the really big things. I really do want you to keep this stuff around. Your bra THIS is imin thinks portant. So what does your brain do with all the routine. Getting ready for an exam. Your brain craves novelty. Neurons fire. Like tigers. Just one problem. Emotions crank up. Or trying to learn some tough technical topic your boss thinks will take a week.
Like the danger of fire. Chemicals surge. It was built that way. We know what tur ge pa a on t tex n more tha learning takes a lot ciples: First lear ning prin Some of the Head le than words alone. It als s they relate to. Use casual lan l stories instead of lec Tel e. You remember ent on its emotional con nd pe de ely g larg is kin something ing.
Pu o makes things more than on transfer studies. And ate ner ge and both ns. But pictures and conversational style are just the beginning. So just how DO you get your brain to treat C like it was a hungry tiger? The amazing thing is. As important as a tiger. Most of us did not take courses on metacognition or learning theory when we were growing up.
On the other hand. The slow way is about sheer repetition. You obviously know that you are able to learn and remember even the dullest of topics if you keep pounding the same thing into your brain.
Crucial to your well-being. Think about how you think. With enough repetition. And for that. To get the most from this book. We were expected to learn. If you want to use what you read in this book.
No need to stay awake. The things on the previous page are a big part of the solution. Your brain on this content. For example. Learn how you learn.
And your brain pays more attention to people than it does to things. We used people. We used redundancy. We include content for both sides of your brain. We included challenges. We used concepts and pictures in unexpected ways because your brain is tuned for novelty.
And we made the paper puzzles and code exercises challenging-yet-do-able. And when text and pictures work together. You can use one blueprint to make any number of houses. We used a personalized. In stories. We used pictures. We used multiple learning styles. We included dozens of activities. And we included stories and exercises that present more than one point of view. That which causes you to feel something is more likely to be remembered.
Since working one side of the brain often means giving the other side a chance to rest. But regardless of your own learning preference. Better still. Write your own notes. The more deeply you force your brain to think. Use a pencil. Groaning over a bad joke is still better than feeling nothing at all. Once you go past a certain point. Imagine that someone really is asking the question. Make up your own captions for the photos. The rest is up to you.
Your brain needs to know that this matters. Try new things. But try to solve the problem before you look at the solution. That means all of them. Lots of it. The more you understand. We put them in. Dehydration which can happen before you ever feel thirsty decreases cognitive function. Out loud. If you put in something new during that processing time. And definitely get it working before you move on to the next part of the book. Get involved with the stories.
When the book asks you a question. These tips are a starting point. Pay attention to whether your brain is getting overloaded. Part of the learning especially the transfer to long-term memory happens after you put the book down. Your brain works best in a nice bath of fluid. If you find yourself starting to skim the surface or forget what you just read. Or at least the last challenging thing. Stop and think.
Feel something. Coding is a skill. Your brain needs time on its own. Cut this out an ick it on your refrigerdatst or. All of the screenshots that you see throughout the book were taken from those two editions of Visual Studio. Ultimate or Test Professional editions. Flip to leftover 11 in the appendix to learn more. You can also use Visual Studio Professional. The screenshots in this book match Visual Studio Express Edition.
It installs cleanly alongside other editions. But we definitely understand that some of our readers may not be running it—for example. Some of them are to help with memory. So we know you want to get your hands dirty right away. And the first time through. The puzzles and activities are not add-ons. One distinct difference in a Head First book is that we want you to really get it.
In some of the Brain Power questions you will find hints to point you in the right direction. The activities are NOT optional. We gave you a lot of opportunities to sharpen your skills by putting exercises in every chapter. If you see the Pool Puzzle logif the activity is optional. But when you see the Exercise logo with the running shoes. For some of them. The redundancy is intentional and important.
Do all the exercises! The one big assumption that we made when we wrote this book is that you want to learn how to program in C. Bridgette Julie Landers. Technical Reviewers: Sophia and Sebastian. Rebeca Dunn-Krahn is a founding partner at Semaphore Solutions. Nick Paldino. Aayam Singh. David Sterling has worked on the Visual C Compiler team for nearly three years. And special thanks to Chris Burrows. She lives in Victoria with her husband Tobias. Peter Ritchie.
Wayne Bradney. Special thanks to reader Alan Ouellette and our other readers who let us know about issues that slipped through QC for the first and second editions. Bill Meitelski Andy Parker. Rebeca Dunn-Krahn. NET applications. Joe Albahari. David Sterling. Dave Murdoch.
Chris Burrows is a developer at Microsoft on the C Compiler team who focused on design and implementation of language features in C 4. Jay Hilyard. Special Thanks to production editor Melanie Yarbrough. Sara Peyton. Marsee Henon.
Andy Oram. Laurie Petryki. Courtney Nash. And a big shout out to our other friends and editors. We want to thank our editor. Mike Hendrickson. And as always. Ron Bilodeau for volunteering his time and preflighting expertise. Rachel Monaghan for her sharp proofread. Copy and paste code samples. Access new titles before they are available for print.
With a subscription. Read books on your cell phone and mobile devices. Even better. Turn the page. Siz bIn e EventHandle r this. Drawi ng. ResumeLayo rm1". AutoScaleD this. AutoScaleMod this. Co ndows. Point SizeF 8F. Gener using System. For awing. Dr this. Set m1 For w ne Application. Lo this. Us this. The result is a be looking app that tterless time to writetakes.
Siz e Ena CompatibleTextR. SuspendLay new System. Creating programs in C is a snap. You can leave mundane coding tasks to the IDE and focus on what your code should accomplish.
The IDE does a lot for you. The language is flexible and easy to learn. The IDE lets you just focus on your program. It handles all the grunt work for you: You can build full-featured professional programs without having to spend hours writing a graphical user interface entirely from scratch.
What Visual Studio does for you… As soon as you save the project. Things may look a bit different in your IDE. Expand Visual C and Windows Store. It adds these to the Solution Explorer window. This file contains the XAML code that defines the user interface of the main page.
If you select Save. Go ahead and start up Visual Studio for Windows 8. It creates several other files as well! You can see them in the Solution Explorer window. Skip over the start page and select New Project from the File menu. There are several project types to choose from. The designer lets you edit the user interface by dragging controls onto it. The screenshot on page 4 is in the Dark color theme.
You should be able to figure out the purpose of many of these windows and files based on what you already know. If you like it.. See if you can guess what all of these things are for.
The Toolbox window has auto-hide turned on by default. See this little pushpin icon? If you click it. This pane wi t abou lots of diagnostic info your app. You may have some different things written down.
It has a bunch of visual controls that you can drag onto your page. This is the toolbox. This particular Ellipse tag has three properties: Everything the IDE does for you—every line of code it creates.
What gives? Visual Studio will generate code you can use as a starting point for your applications. If you click on the Reset Window Layout command under the Window menu. So if the IDE writes all this code for me. You can change it.
But the hard part of programming—figuring out what your program needs to do and making it do it—is something that no IDE can do for you. The IDE is great at automatically generating some code for you. What is XAML. The IDE is set up to create code based on the way the element you dragged or added is most commonly used. Aliens are beaming up humans. Not good! The people of planet Earth need you to build an awesome C app to coordinate their escape from the alien menace. If you drag your human into one.
Our greatest human scientific minds have invented protective interdimensional diamond-shaped portals to protect the human race. Are you up to the challenge? More and more evil aliens will fill up the screen. The app uses to provide ga controls for the playe meplay r.
Each human that the player has to save is drawn using a StackPanel. It sounds like a lot of work. The first two chapters and the last half of this book have many projects that are built with Visual Studio for Windows 8.
You can download a free PDF with details and instructions from http: With PDF. Deployment Pack age. No problem. Double-click on MainPage. Use these three buttons to turn on the grid lines. Your starting point is the Designer window. Type Save the Humans as the project name. Visual Basic. Choose New Project from the File menu. You can fix this by closing the solution and starting over. It looks like a blank page with a default black background.
When you add rows. This part of the project has steps numbered Looking to learn WPF? Look no further! Flip the page to keep going! These are the opening and closing tags for a grid that contains controls. If you chose a different name when you created your project. Rightclick on it and choose Delete to delete the MainPage.
Go back to the Solution Explorer and right-click on it should be the second item in the Solution Explorer to select the project. You can do this all by hand with XAML. When you start a Windows Store app.
Go to the Solution Explorer window and find. The IDE will prompt you to add missing files—choose Yes to add them.
Choose Basic Page and give it the name MainPage. Then click the Add button to add the replacement page to your project. Rebuilding the solution brings everything up to date so it can display the page in the designer.
It might display either or. Make sure you name it MainPage. Your page should be displayed in the designer. Wait for the designer to finish loading. Choose Basic Page to add a new page to your projcet based on the Basic Page template. When you replace MainPage. Seeing all three of these will give you a deeper understanding of programming with C..
Windows Store apps need to look right on any screen. After the row is added. Start defining rows by hovering over the border until a line and triangle appear: I wanted to learn about C. Throughout this book. But when you clicked and created a new row. The gray lines were just Visual Studio giving you a grid of guidelines to help you lay your controls out evenly on the page.
But it looks like I already have many rows and and columns in the grid. What are those gray lines? Wait a minute. Hover over the border of the grid until an orange triangle and line appear.
You can turn them on and off with the button. None of the lines you see in the designer show up when you run the app outside of Visual Studio. The humans are preparing. A grid is a great way to lay out a page. Now the column widths and row heights match the numbers on the top and side of your page.
Your grid rows and columns are now added! XAML grids are container controls. Grids consist of rows and columns that define cells. Set your columns or rows to Pixel to give them a fixed width or height. Set the width of the left column. But you can also use the Star setting. Make the right column and the bottom row by choosing Pixel and typing into the box. Choose Pixel to change the star to a lock.
If you remove the Width or Height property. For now. The Star setting lets a row or column grow or shrink proportionally to the rest of the grid. By the end of the book. You can set the rows and columns of a grid to a specific pixel height. Hover over the number above the first column until a dropdown menu appears. In a minute. You used the column and row drop-downs to set the Width and Height properties.
Click on the number above the center column and enter 1. If it did. This is how a column is defined for a XAML grid. If it does. XAML and C are case sensitive! Make sure your uppercase and lowercase letters match example code.
It might adjust the other columns. You added three columns and three rows. This top row with a height of pixels is part of the Basic Page template you added. Each property has a name. See if you can figure out how it determines which row and column the controls are placed in. The XAML for the button starts here. Give it a try!
Use the pushpin to keep it from collapsing. Drag a into the lower-right cell of the grid. Those are called controls. Your XAML will look something like this. Click on Pointer in the toolbo then click on the TextBlock x. These are properties. You can add line breaks too. Drag a into the bottom-center cell. Can you figure out how to use it? When you drag a control out of the toolbox and onto your page.
What do you think it does? Try clicking this button. When you add the Canvas control. It brings up the Document Outline window. If not. Try clicking in both the grid and the XAML window to select different controls.
You dragged a ContentControl into the same cell. You just added this ProgressBar. Look in the XAML window: Change the text of the button. These little squares tell you if the property has been set. When you dragged the button onto the page. Make sure the button is selected in the IDE. This works for other things in the IDE. Right-click on the button control that you dragged onto the grid and choose Edit Text from the menu. Change the text to: When you edit the text in the button.
Use the Name box to change the name of the control to startButton. Click on the square and choose Reset from the menu to reset the margins to 0. Use it to change the name of the control to startButton and center the control in the cell. You might need to expand the Common and Layout sections. The Properties window in the IDE lets you change the look and even the behavior of the controls on your page.
Make sure that the TextBlock is near the top of the cell. You can select the StackPanel by clicking between the two controls. Your TextBlock and ContentControl are in the lower-right cell of the grid. Click and drag to select both the TextBlock and ContentControl. Now you should see the correct text at the top of the page: Choose from the pop-up menu.
This adds a new control to your form: But since you dragged the Right-click and TextBlock to the top of the cell and the ContentControl to the bottom. Do it several times to undo the last few changes. The StackPanel is a lot like the Grid and Canvas: Click in the middle of the StackPanel of the StackPanel. Then right-click on it. Wait a minute! The Blank Page template uses a static resource called AppName for the name that it displays at the top of the page. You can also hit Escape to deselect the control.
You are here! While you have the ContentControl selected. A box appears around the StackPanel if you hover over it. If you selected the wrong thing. Use the Height box in the Layout section of the Properties window to set the Height to Then set its Column to 0.
Once you change the name. Click on to select the Canvas control. Right-click on the ProgressBar in the bottom-center cell of the grid. Then use the and buttons in the Properties window to set its vertical and horizontal alignments to Stretch.. Remember that Canvas control that you dragged into the center square? Make sure the Canvas control is selected. Then click on the righthand tab and choose the ending color. Choose the starting and ending colors for the gradient by clicking each of the tabs at the bottom of the color editor and then clicking on a color..
Click on the lefthand tab.. That will keep the template selected. Click in this color selector and drag to the upper-right corner. Add a red circle to the template: If you accidentally click out of the control template. It should be right below the AppName resource. Go back to the Document Outline if you see at the top of the Document Outline window. Name it EnemyTemplate. XAML gives us templates. You can also use the Document Outline window to select the grid if it gets deselected.
Flip the page for the last steps. Your game will have a lot of enemies bouncing around the screen. Your newly created template is currently selected in the IDE. Your template is still invisible.
Select the StackPanel control. Choose Edit Template. Then do the same for the TextBlock. If you change the Left and Top properties. The second. The Rectangle will be added right on top of the Ellipse.
Hold down the Shift key and click on the Ellipse so both controls are selected. Then use the Name box at the top of the window to set its name to human.
Then select the Rectangle. Click both buttons to set the Width and Height to Auto. Go back to the Document Outline window to see how your new controls appear: Right-click on the Ellipse. Select the Ellipse. Select the Canvas control.
The first option is to follow the next three paragraphs. Can you the shapes tha d or remove it? Select the Canvas control again and double-click on Rectangle. Use the Document Outline window to select the Stack Panel make sure you see at the top of the Properties window. Turn your rectangle into a diamond by rotating it 45 degrees. Open the Transform section of the Properties window to rotate the Rectangle 45 degrees by clicking on and setting the angle to Set its Height and Width properties to Use the button in the Brushes section of the Properties window to give it a gradient.
See if you can work out which property does what. Visual Studio gave you useful tools for laying out your page. You set up the grid that will serve as the basis of your page. A lot of programmers build their code in small increments. That will lay the groundwork to build out the rest of the game.
You used a template to make the enemies look like red circles. To make the game work. And the IDE generated it for me? Hover over the blue box and click the icon that pops up. You should see some code pop up that looks like this: When you double-clicked on the Button control.
What do you think will happen if you click it? Go ahead and click it to find out! A method is just a named block of code. The IDE will add code to your project that gets run any time a user clicks on the button.
Notice the red squiggly line underneath the text you just typed? If you click on the squiggly line. See if you can find it. The IDE generated a method stub for you: If you miss one. C code must be added exactly as you see it here. Type the word Content into the method body. Choose ContentControl from the list. Select this and delete it. Then change any int types to double. The ones under AnimateEnemy will go away when you generate its method stub.
This is called a field. Change the parameter p1 to from. This line adds your new enemy control to a collection called Children. Edit the top line of the method to change the last three parameters. Do you see a squiggly underline under playArea? This time it added four parameters called enemy.
Flip the page to see your program run! If you still have some of those red squiggly lines. Scroll all the way to the top of the file. NET Framework animation program to move the enemies on in your your screen. Add code that creates an enemy bouncing animation.
Add one more to the bottom of the list: Statements like these let you use code from. All of the code you need to get your program working is in these pages. The IDE generated several lines that start with using.