Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Microsoft CSharp Programming For The Absolute Beginner (2002) [eng]-1.pdf
Скачиваний:
46
Добавлен:
16.08.2013
Размер:
15.71 Mб
Скачать

Figure 1.13: The squiggle at the end of the WriteLine() command indicates a missing semicolon. When you try to run a program that contains errors, C# informs you that there are build errors and asks whether you want to run anyway. Generally, you say no so that you can fix those errors. Any errors that C# notices are placed in a task list at the bottom of the screen. By clicking an item in this list, you are automatically taken to the appropriate line in the code.

Trap The compiler reports where it noticed the error, which isn’t always where the error is located. Still, it gives you a decent hint about what went wrong.

If a program does not compile correctly, don’t panic. Look at the task list and try to solve each problem in order. Often, solving one problem automatically solves the others.

Getting Input from the User

Being able to write information to the screen is very nice, but computer programs are supposed to be interactive. It is even better if the program can get input from the user. Take a look at the program featured in Figure 1.14 to see an example of a simple program that interacts with the user.

22

Figure 1.14: The user types a response and receives a customized greeting.

Getting a value from the user is a straightforward task but requires you to understand a couple new concepts. First, look at the code, and you will see that it is very similar to the Hello World program:

using System;

namespace HelloUser

{

///<summary>

///Add user input to the Hello World program

///Andy Harris, 10/30/01

///</summary>

class Hello

{

static void Main(string[] args)

{

string userName;

Console.Write("Please enter your name: "); userName = Console.ReadLine(); Console.WriteLine("Hi there, {0}!", userName);

Console.WriteLine("Please press the Enter key to continue"); Console.ReadLine();

} // end main } // end class

}// end namespace

Even though the code is mainly familiar, a couple elements might have caught your eye. These changes are all used to add interactivity. This version of the program will ask the user for a name and will use that name in a personalized greeting. To do this, you need a new concept called a variable and you’ll use the Console.ReadLine() method in a new way.

23

Creating a String Variable

If you’re going to ask the user for something, you must have a place ready to catch it. Ultimately, computers store all information in memory cells, which handle only binary information. Even seasoned programmers generally prefer to work directly with numbers and text instead of the binary values the computer understands. Computer languages allow you to create special places in memory, designed to hold information. These memory cells are variables. You will deal with many kinds of variables as a C# programmer, but one of the most interesting types is text. Of course, computer scientists could never call this kind of information words or text because everybody would know what they are talking about. Instead, text information is almost always called string data in computing circles.

Trick Actually, text is referred to as strings for a descriptive, almost poetic reason. Computers can’t deal with words at all, or even letters. A letter is stored as a numeric value, using a code such as ASCII (or, in later languages such as C#, unicode). Text is simply a bunch of these numeric values placed in contiguous cells, like beads on a string. All this isn’t important, I suppose, but it is cool to wander around muttering about string manipulation under your breath. People might think that you’re smart.

The line

string userName;

is simply setting up a chunk of memory so that it is ready to store text data. The term string is used to tell the compiler to set up a memory area to handle string (or text) values. The term userName refers to the name I have given this piece of memory.

Trick As a programmer, you will have many opportunities to name things. A few guidelines might come in handy:

Don’t use spaces or punctuation in names; these can potentially confuse the compiler.

Use descriptive names. If you don’t, you could find yourself baffled about its meaning when you come back to debug it. Naming the variable something more descriptive, such as radius or taxRate, is far better.

Resist using long variable names because misspelling them is too easy, which could cause problems later.

C# is a case−sensitive language. Most programmers use mainly lowercase letters in their variable names, reserving uppercase letters for differentiating words (such as the capital R in taxRate).

Getting a Value with the Console.ReadLine() Method

Now that you have a variable (the string variable userName) to hold a string value, you need to get that value from the user. The ReadLine() method of the console object is used to, well, read a line from the console. It waits for the user to type something on the screen and, as soon as it encounters the Enter key, returns whatever was typed. Notice the way the ReadLine() method is written in the program:

24

userName = Console.ReadLine();

This line of code is an example of an assignment statement. Assignment is one of the most important ideas in programming, but it’s very simple. Some sort of value is being copied from one thing to another. As you read this line, train yourself to think of the equal sign (=) as gets, not equals. This is important because in C#, the equal sign is used not to determine equality but as an assignment operator. (That statement will make more sense after you read Chapter 2, "Branching and Operators: The Math Game.") If you read the line as "userName gets Console.ReadLine()," you will understand what this line of code is supposed to do. It tells the computer to get a line of text from the console and copy that text value to the string variable userName. In most programming languages, assignment flows from right to left. That is, the variable (userName) is given the value (whatever is read from the console).

Incorporating a Variable in Output

After the ReadLine() code is placed in memory named userName, containing whatever text the user typed. The next step is to print out this value to the user as a customized greeting.

The line that provides the greeting looks like this:

Console.WriteLine("Hi there, {0}!", userName);

If you compare this line to the output, you can probably figure out what’s going on. The computer says, “Hi there,” places the user’s name in place of the {0} stuff, and adds an exclamation point to the end. The WriteLine() method can be used to combine plain text with variables. It works by first expecting a line of text. If you want to add variables in your message, you can replace a variable with a number inside braces. Computers usually start counting at zero, so userName is variable number zero, and the value of userName is printed out to the screen. If you ask for a first name and a last name, the line might look like this:

Console.WriteLine("Hi there, {0} {1}!", firstName, lastName);

If you also incorporate a middle initial, the code might end up like this:

Console.WriteLine("Hi there, {0} {1}. {2}!", firstName, mi, lastName);

As you can see, the plain text you want to write should be added first, with placeholders for any variables you might want to include in the message. Then you provide a list of variables. Of course, the order of the variables in the list can make a big difference, and if you refer to variable number 1, you must have at least two variables in the list.

Trap Computers begin counting at zero! The first element in a list is not number one but number zero. Forgetting this is easy if you’re new to programming! Most of the time in your writeLine() statements, you will simply be referring to variable zero ({0}), or you will have no variables at all. By the way, if you want to know the fancy computer scientist name for placing the variables inside the text, it’s string interpolation. See whether you can work that phrase into your dinner conversation tonight.

25

Соседние файлы в предмете Программирование на C++