Q. What is Visual C# .NET?
A. Visual C# .NET provides developers with a modern, component-oriented language with which they can quickly construct compelling, data-driven solutions. With rapid design, development, and deployment support for XML Web services, high-performance data-driven solutions, and server-side visual designers, Visual C# .NET delivers superior functionality for streamlining business processes.
Visual C# .NET enables developers to build solutions for the broadest range of clients, including Web applications, Microsoft Windows® Forms-based applications, and thin- and smart-client devices. And, with an elegant, modern programming language, C# developers can leverage their existing C++ and Java skills and knowledge to be successful in the Microsoft .NET development environment.
Q. What's new in Visual C# .NET 2003?
A. Visual C# .NET 2003 offers several minor improvements to the integrated development environment (IDE) that will help you write code faster and with fewer errors:
Native device development support.
Visual C# .NET 2003 and the Microsoft .NET Framework 1.1 now include native support for more than 150 mobile Web devices including mobile phones, pagers, and personal digital assistants (PDAs). The version of Visual C# .NET for professional developers, called Visual Studio .NET 2003 Professional Edition, simplifies smart device application development with native support for the .NET Compact Framework.
Improved IntelliSense for interfaces and base classes.
Microsoft IntelliSense® now includes automatic interface and base class expansion. Simply inherit from an interface or a base class, and the code editor will prompt you with a ToolTip to automatically stub out abstract methods of the class and methods of the interface.
Improved IntelliSense for delegates and events.
IntelliSense will now provide ToolTip assistance to help you hook functions to delegates and events.
Improved IntelliSense for statement completion.
IntelliSense now lists the "most frequently used" items in the statement completion window.
Better debugger visualizations.
The C# debugger now shows collection classes and other complex data types in a more usable, visual manner.
Custom build steps.
Programmers may now customize how their application compiles and builds for faster development and reduced build cycles.
Q. What's new in the C# language in 2003?
A. The C# language has been updated to fully support the ECMA C# Language Specification. While it was certainly our goal to be fully compliant in the 2002 release, the reality of schedules related to the standardization process and the release process of the Visual Studio .NET 2002 product worked against us. However, in the 2003 edition of the Visual Studio family of products the C# language is fully compliant with the ECMA specification.
Q. What are the differences between Visual C# .NET Standard Edition and Visual Studio .NET Professional Edition?
A. Visual C# .NET 2003 Standard is intended for hobbyist or non-professional developers looking to learn the C# programming language. As such, it does not include the following features found in Visual Studio .NET 2003 Professional and higher editions:
The "server" node in the Server Explorer.
Developers will commonly use this feature to visually design server-side solutions.
Source code control integration.
Programmers looking to use Microsoft Visual SourceSafe® should upgrade to Visual Studio .NET Professional Edition or higher.
Enhanced debugging support.
Developers looking to debug remote server or service objects and to debug SQL applications will need to upgrade to Visual Studio .NET Professional Edition or higher.
Enhanced deployment support.
Visual C# .NET Standard will not provide support for creating CAB files, deploying to a Web server, or incorporating redistributable components in projects.
Visual database tools.
Developers will need to upgrade in order to visually design tables, queries, and stored procedures.
Numerous additional wizards ranging from the Control Creation wizard to the Windows Service wizard are not present in Visual C# .NET Standard Edition.
The enterprise samples for "Fitch and Mather" and "Duwamish" are only available to users of Visual Studio .NET Professional Edition and higher.
Software development kit (SDK) support.
Developers wishing to obtain the Microsoft Platform SDK or Visual Studio SDK must either download them or purchase Visual Studio .NET Professional Edition or higher.
Smart device programmability.
Developers looking to build applications for the emerging class of Windows CE-based devices, including the Pocket PC, should upgrade to Visual Studio .NET Professional Edition or higher.
For more information, consult the Features Overview for Visual C# .NET 2003.
Q. How can I get more information on Visual C# .NET?
A. There are a number of resources for obtaining more information on Visual C# .NET.
The Visual C# .NET Community Site on GotDotNet is available for developers seeking information directly from the Microsoft C# team.
MSDN® Online also contains a wealth of technical knowledge in the form of white papers, samples, and downloads.
Q. How do I pose a question or send feedback to the C# community?
A. There are two primary ways to ask the community questions:
Post to the public C# USENET newsgroup at microsoft.public.dotnet.languages.csharp.
Post to the public C# discussion forum at Gotdotnet.com.
If you wish to offer feedback, please send mail to the C# feedback alias, firstname.lastname@example.org. Note that we cannot answer questions or technical support issues from this alias. For technical support, please consult Product Support Services (PSS). For questions, please use the newsgroup or the discussion forum.
Q. How can I help get the word out about Visual C#?
A. We'd love to have you on the C# virtual team! There are a couple of things you can do right away:
Begin posing and answering questions on the C# USENET newsgroups and discussion forums.
Become an active member of the Visual C# user community. The most helpful and insightful posters (note, not necessarily the most active posters) will be invited to become Visual C# MVPs (Most Valuable Programmers). In addition to free software, invitations to on-campus Microsoft events, close interaction with Microsoft developers, and other benefits, Microsoft MVPs are also typically briefed (under non-disclosure agreement) about future product plans and asked to provide feedback on early alpha and beta software.
Evangelize within your organization.
Convince your company and coworkers to begin adopting Microsoft .NET and the C# language. We're all in this together, and we want your overall development experience to be the best it can possibly be. Within Microsoft itself, numerous groups are using C# and .NET. We are improving the language and tool to meet your needs as well as ours. For that reason, the more customers we have using C#, the more feedback we will receive, and the better the product will become.
Q. I know you just shipped, but how can I get an early alpha copy of version 2?
A. Microsoft does not publicly comment on unannounced future versions of software.
However, as Visual C# 2.0 emerges from its embryonic planning stages and into real code, the team will supply early builds to select customers. Often, these customers are preselected for marketing and business purposes. In some cases, these customers are Microsoft MVPs who have provided tremendous insight into product direction in the past.
Otherwise, the nonpublic alpha and beta versions are just that, unavailable to the public. The best way for you to influence future versions is to use the current product and actively post your feedback, both positive and negative, to the public newsgroups and discussion forums. Rest assured, we are listening.
Q. When will I see generics in the language?
A. At the OOPSLA conference on November 7, 2002, C# creator Anders Hejlsberg presented several potential new language features for the next major version of C#. These features, pending community and user feedback, will be made available in the next version of Visual Studio .NET. We currently do not have a planned release date for that product.
Q. Where can I go to learn the C# language?
A. A number of book publishers have produced C# texts. A comprehensive list of these texts will be available soon on the Visual Studio .NET Web site. We encourage developers to post honest reviews of these textbooks on the most common online booksellers, recommend their favorites to their friends and colleagues, and even write their own!
Additional resources include training seminars from Wintellect and DevelopMentor, two of our premier Visual C# and .NET training partners. Wintellect and DevelopMentor instructors are in close contact with many Microsoft employees, have in-depth knowledge and expertise on the subject matter, and are briefed on future product plans. Their courses are known in the community as the most comprehensive and informative.
Q. Where can I go to get answers to technical questions about C#?
A. The Visual C# .NET Community Site contains a technical FAQ that should answer most, if not all, of your questions about the C# language.
Q. What are the differences between the Visual Basic and C# programming languages?
A. Visual Basic® .NET and Microsoft Visual C# .NET have been designed for the Visual Basic and Microsoft Visual C++® communities, respectively. Visual Basic .NET was built around the concept of empowering Visual Basic developers with unprecedented power and productivity in building XML Web services, desktop applications, Web applications, and mobile applications. Visual C# was driven by developers within the C++ community who wanted more productivity in building their applications.
Visual Basic .NET and Visual C# .NET contain a very similar set of capabilities, and applications built in these two languages will exhibit similar characteristics of developer productivity, ease of debugging, .NET Framework support, and performance.
However, Visual Basic .NET and Visual C# .NET differ considerably in their user experiences, above and beyond the obvious syntactical differences. Because Visual Basic .NET targets Visual Basic developers, it incorporates many of the concepts and constructs familiar to Visual Basic developers, such as case-insensitive coding, a background compiler, and the option to do late binding. Similarly, the C# language incorporates features familiar to C++ developers, such as case sensitivity, "unsafe" code, operator overloading, built-in versioning, and better support for inline documentation.
Q. What is the symbol in the name "C#"?
A. It's not the "hash" (or pound) symbol as most people believe. It's actually supposed to be the musical sharp symbol. However, because the sharp symbol is not present on the standard keyboard, it's easier to type the hash ("#") symbol. The name of the language is, of course, pronounced "see sharp".