[ Team LiB ] Previous Section Next Section

Why C#?

Although many languages have access to the .NET runtime, C# is the native language of .NET. All but a few of the code examples in this volume are written in C#, because it is, frankly, the best language for the job.

From the standpoint of how .NET works with XML, though, remember that whatever the details of a language's syntax, the .NET Framework itself works in a consistent and predictable way. You should never fear that an XML document will be handled differently in C++ than in ASP.NET, for example.

Running the Examples

Many potential .NET developers are put off by the cost of Visual Studio .NET. There's no need to spend the big money to buy Visual Studio .NET to run the examples in this book梚n fact, I've written all of them without using Visual Studio .NET. All of the C# code can be compiled and run for free by downloading the Microsoft .NET Framework SDK, either Version 1.0 or Version 1.1, from http://msdn.microsoft.com/.

Here's a simple "Hello, XML" example that you can try out using the C# compiler (as shown below):

using System;
using System.Xml;

public class HelloXML {
  public static void Main(string [ ] args) {
    XmlTextWriter writer = new XmlTextWriter(Console.Out);
    writer.WriteStartDocument( );
    writer.WriteElementString("Hello", "XML");
    writer.WriteEndDocument( );
    writer.Close( );

Once you have downloaded and installed the SDK, you can use the C# compiler, csc.exe, to compile any of the example C# code. The basic syntax for compiling a C# program called HelloXML.cs with the C# compiler is:

csc /debug /target:exe HelloXML.cs

This produces a .NET console executable called HelloXML.exe, which can then be run just like any Windows executable. The /debug option causes the compiler to produce an additional file, called HelloXML.pdb, which contains debugging symbols. The C# compiler can also be used to produce a .NET DLL with the command-line options /target:library.

The C# compiler can also compile multiple files at once by including them on the command line. At least one class in the source files on the command line must have a Main( ) method in order to compile an executable. If more than one class contains a Main( ) method, you can specify which one to use by including the /main:classname option on the command line.

Running the HelloXML.exe executable results in the following output:

<?xml version="1.0" encoding="IBM437"?><Hello>XML</Hello>

For more information on the C# compiler options, simply type csc /? or csc /help on the command line. The .NET Framework SDK Documentation, which comes with the .NET Framework SDK, provides more information on the other tools that come with the SDK. It's also a good first resource for information on any of the .NET assemblies.

    [ Team LiB ] Previous Section Next Section