1. 选择C#的10大理由
1.1. Strong C++ Heritage
Visual C# leverages a strong C++ heritage that provides developers with a solid foundation for intelligent object- and component-oriented programming and a language that is immediately familiar and comfortable to C++ and Java programmers, regardless of skill level.
1.2. Object-based Type System
Visual C# provides developers with a modern and intuitive object-based type system that negates the need for complex and error-inducing pointer and template features found in other languages.
1.3. Access the Microsoft .NET Framework
Visual C# provides developers with access to the Microsoft .NET Framework, a robust, thread-safe library of collection classes, networking functionality, data access classes, and more.
1.4. Component-oriented Development
Visual C# provides developers with a powerful component-oriented development language that includes support for properties, indexers, delegates, inheritance, versioning, attributes, and much more.
1.5. XML Comments
Visual C# allows developers to use Extensible Markup Language (XML) Comments to provide useful and customizable source code documentation.
1.6. Standards-based Language
Visual C# provides developers with a standards-based language that ensures community involvement and consistent innovation.
1.7. Interactive XML Web Services
Visual C# allows developers to deploy and consume rich, interactive XML Web services that reduce development time by enabling software aggregation from any platform.
1.8. Target Any Device
Visual C# lets developers target powerful desktop computers and a wide variety of handheld and wireless devices using identical tools and skills.
1.9. "C Style" Memory
Visual C# gives developers access to "C style" memory management and pointers when necessary, rather than forcing developers to author code in other languages and tools.
1.10. Visual Studio .NET IDE
Visual C# provides developers with the award-winning Visual Studio .NET development environment, which includes support for Task Lists, Property Editors, Microsoft IntelliSense®, Forms Designers, and much more.

解决方案 »

  1.   

    2. C#的特点特性
    2.1. A modern, object-oriented language
    C# is a modern, object-oriented language that enables programmers to quickly build a wide range of applications for the new Microsoft .NET development environment, which provides tools and services that fully exploit both computing and communications.
    Because of its elegant object-oriented design, C# is a great choice for architecting a wide range of components-from high-level business objects to system-level applications. Using simple C# language constructs, these components can be converted into XML Web services, allowing them to be invoked across the Internet, from any language running on any operating system.
    More than anything else, C# is designed to bring rapid development to the C++ programmer without sacrificing the power and control that have been a hall of C and C++. Because of this heritage, C# has a high degree of fidelity with C and C++. Developers familiar with these languages can quickly become productive in C#.
    2.2. Productivity and Safety
    C# is designed to shorten cycle times and produce more incremental revisions of a program, rather than a single monumental version. The language is designed to help developers do more with fewer lines of code and fewer opportunities for error.
    2.2.1. Embraces Emerging Web Programming Standards
    The new model for developing applications means more and more solutions require the use of emerging Web standards like Hypertext Markup Language (HTML), Extensible Markup Language (XML), and SOAP. Existing development tools were developed before the Internet or when the Web as we know it today was in its infancy. As a result, they don't always provide the best fit for working with new Web technologies.
    C# programmers can leverage an extensive framework for building Microsoft .NET-connected applications. C# includes built-in support to turn any component into an XML Web service that can be invoked over the Internet-from any application running on any platform.
    Even better, the XML Web services framework can make existing XML Web services look just like native C# objects to the programmer, thus allowing developers to leverage existing XML Web services with the object-oriented programming skills they already have.
    There are more subtle features that make C# a great Internet programming tool. For instance, XML is emerging as the standard way to pass structured data across the Internet. Such data sets are often very small. For improved performance, C# allows the XML data to be mapped directly into a struct data type instead of a class. This is a more efficient way to handle small amounts of data.
    2.2.2. Eliminates Costly Programming Errors
    Even expert C++ programmers can make the simplest of mistakes-forgetting to initialize a variable, for instance-and often those simple mistakes result in unpredictable problems that can remain undiscovered for long periods of time. Once a program is in production use, it can be very costly to fix even the simplest programming errors.
    The modern design of C# eliminates the most common C++ programming errors. For example:
     Garbage collection relieves the programmer of the burden of manual memory management. 
     Variables in C# are automatically initialized by the environment. 
     Variables are type-safe.
    2.2.3. Reduces Ongoing Development Costs with Built-in Support for Versioning
    Updating software components is an error-prone task. Revisions made to the code can unintentionally change the semantics of an existing program. To assist the developer with this problem, C# includes versioning support in the language. For example, method overriding must be explicit; it cannot happen inadvertently as in C++ or Java. This helps prevent coding errors and preserve versioning flexibility. A related feature is the native support for interfaces and interface inheritance. These features enable complex frameworks to be developed and evolved over time.
    Put together, these features make the process of developing later versions of a project more robust and thus reduce overall development costs for the successive versions.
    2.3. Power, Expressiveness, and Flexibility
    2.3.1. Better Mapping Between Business Process and Implementation
    With the high level of effort that corporations spend on business planning, it is imperative to have a close connection between the abstract business process and the actual software implementation. But most language tools don't have an easy way to link business logic with code. For instance, developers probably use code comments today to identify which classes make up a particular abstract business object.
    The C# language allows for typed, extensible metadata that can be applied to any object. A project architect can define domain-specific attributes and apply them to any language element-classes, interfaces, and so on. The developer then can programmatically examine the attributes on each element. This makes it easy, for example, to write an automated tool that will ensure that each class or interface is correctly identified as part of a particular abstract business object, or simply to create reports based on the domain-specific attributes of an object. The tight coupling between the custom metadata and the program code helps strengthen the connection between the intended program behavior and the actual implementation.
    2.3.2. Extensive Interoperability
    The managed, type-safe environment is appropriate for most enterprise applications. But real-world experience shows that some applications continue to require "native" code, either for performance reasons or to interoperate with existing application programming interfaces (APIs). Such scenarios may force developers to use C++ even when they would prefer to use a more productive development environment.
    C# addresses these problems by:
     Including native support for the Component Object Model (COM) and Windows®-based APIs. 
     Allowing restricted use of native pointers. 
    With C#, every object is automatically a COM object. Developers no longer have to explicitly implement IUnknown and other COM interfaces. Instead, those features are built in. Similarly, C# programs can natively use existing COM objects, no matter what language was used to author them.
    For those developers who require it, C# includes a special feature that enables a program to call out to any native API. Inside a specially ed code block, developers are allowed to use pointers and traditional C/C++ features such as manually managed memory and pointer arithmetic. This is a huge advantage over other environments. It means that C# programmers can build on their existing C and C++ code base, rather than discard it.
    In both cases-COM support and native API access-the goal is to provide the developer with essential power and control without having to leave the C# environment.
    2.4. Conclusion
    C# is a modern, object-oriented language that enables programmers to quickly and easily build solutions for the Microsoft .NET development environment. The framework provided allows C# components to become XML Web services that are available across the Internet, from any application running on any platform.
    The language enhances developer productivity while serving to eliminate programming errors that can lead to increased development costs. C# brings rapid Web development to the C and C++ programmer while maintaining the power and flexibility that those developers call for.
      

  2.   

    sorry,没有看清是平台的好处。
      

  3.   

    选择:J2EE还是.NET,这是一个问题    coffeemilk(转贴)
    http://www.csdn.net/Develop/article/15%5C15039.shtm.Net印象
    http://www.freecoder.org/~phil/articles/dotnet.htmlms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpovrintroductiontonetframeworksdk.htm
      

  4.   

    班兄,好久不见,别来无恙阿,终于又看到你了:-)帮忙看看这个http://expert.csdn.net/Expert/topic/1578/1578008.xml?temp=6.989688E-02
      

  5.   

    .NET几大热点问题
    http://www.powerba.com/develop/project/sample/article/20010725001.htm第三代互联网平台和微软的 .NET 战略
    http://www.digitalearth.net.cn/GISRelatedITIssues/MicrosoftNet/3rdNET.htm
      

  6.   

    jiezhi(西域浪子) 兄,没关系,C#语言的一样,只是英文的:-)
      

  7.   

    请你看:
    http://expert.csdn.net/Expert/topic/1580/1580430.xml?temp=.4567377