C# .Net Developer

C# is a modern, general purpose, object-oriented programming language designed around the Common Language Infrastructure. A great C# developer is capable of handling many aspects of developing an applications.

Blog Image

Description

A great C# developer is capable of handling many aspects of developing an application, including but not limited to performance, scalability, security, testing, and more. C# developers can develop modern applications that run on desktop computers, or even sophisticated back-end processes powering modern web applications. The frameworks .Net and Mono combined allow a wide range of platforms to be targeted by applications developed with C#.

What You will Learn

C# syntax is highly expressive, yet it is also simple and easy to learn. The curly-brace syntax of C# will be instantly recognizable to anyone familiar with C, C++ or Java. Developers who know any of these languages are typically able to begin to work productively in C# within a very short time. C# syntax simplifies many of the complexities of C++ and provides powerful features such as nullable value types, enumerations, delegates, lambda expressions and direct memory access, which are not found in Java. C# supports generic methods and types, which provide increased type safety and performance, and iterators, which enable implementers of collection classes to define custom iteration behaviors that are simple to use by client code. Language-Integrated Query (LINQ) expressions make the strongly-typed query a first-class language construct. As an object-oriented language, C# supports the concepts of encapsulation, inheritance, and polymorphism. All variables and methods, including the Main method, the application's entry point, are encapsulated within class definitions. A class may inherit directly from one parent class, but it may implement any number of interfaces. Methods that override virtual methods in a parent class require the override keyword as a way to avoid accidental redefinition. In C#, a struct is like a lightweight class; it is a stack-allocated type that can implement interfaces but does not support inheritance.

In addition to these basic object-oriented principles, C# makes it easy to develop software components through several innovative language constructs, including the following:

  • Encapsulated method signatures called delegates, which enable type-safe event notifications.
  • Properties, which serve as accessors for private member variables.
  • Attributes, which provide declarative metadata about types at run time.
  • Inline XML documentation comments.
  • Language-Integrated Query (LINQ) which provides built-in query capabilities across a variety of data sources.

If you have to interact with other Windows software such as COM objects or native Win32 DLLs, you can do this in C# through a process called "Interop." Interop enables C# programs to do almost anything that a native C++ application can do. C# even supports pointers and the concept of "unsafe" code for those cases in which direct memory access is absolutely critical.

Explore the best Concepts

C# programs run on the .NET Framework, an integral component of Windows that includes a virtual execution system called the common language runtime (CLR) and a unified set of class libraries. The CLR is the commercial implementation by Microsoft of the common language infrastructure (CLI), an international standard that is the basis for creating execution and development environments in which languages and libraries work together seamlessly.

C# is a modern, general purpose, object-oriented programming language designed around the Common Language Infrastructure.

Source code written in C# is compiled into an intermediate language (IL) that conforms to the CLI specification. The IL code and resources, such as bitmaps and strings, are stored on disk in an executable file called an assembly, typically with an extension of .exe or .dll. An assembly contains a manifest that provides information about the assembly's types, version, culture, and security requirements.

Course Syllabus

Syllabus content at a glance
    • Writing Applications using C#
    • Datatypes, Operators, and Expressions
    • C# Programming Language Constructs
    • Creating and Invoking Methods
    • Creating Overloaded Methods and Using Optional and Output Parameters
    • Handling Exceptions.
    • Implementing Structs and Enums
    • Organizing Data into Collections
    • Handling Events
    • Creating Class Hierarchies
    • Extending .NET Framework Classes
    • Creating Generic Types
Syllabus aims and assessment objectives
    • This training course teaches developers the programming skills that are required for developers to create Web applications using the C# language.

    • Experienced developers follow numerous programming practices or rules of thumb, which typically derived from hard-learned lessons. The practices listed below are not all-inclusive, and should not be used without due consideration. Veteran programmers deviate from these practices on occasion, but not without careful consideration of the potential repercussions. Using the best programming practice in the wrong context can cause more harm than good.

    • To conserve resources, be selective in the choice of data type to ensure the size of a variable is not excessively large.
    • Keep the lifetime of variables as short as possible when the variables represent a finite resource for which there may be contention, such as a database connection.
    • Keep the scope of variables as small as possible to avoid confusion and to ensure maintainability. Also, when maintaining legacy source code, the potential for inadvertently breaking other parts of the code can be minimized if variable scope is limited.
    • Use variables and routines for one and only one purpose. In addition, avoid creating multipurpose routines that perform a variety of unrelated functions.
    • When writing classes, avoid the use of public variables. Instead, use procedures to provide a layer of encapsulation and also to allow an opportunity to validate value changes.
    • When using objects pooled by MTS, acquire resources as late as possible and release them as soon as possible. As such, you should create objects as late as possible, and destroy them as early as possible to free resources.
    • When using objects that are not being pooled by MTS, it is necessary to examine the expense of the object creation and the level of contention for resources to determine when resources should be acquired and released.
    • Use only one transaction scheme, such as MTS or SQL Server™, and minimize the scope and duration of transactions.
    • Be wary of using ASP Session variables in a Web farm environment. At a minimum, do not place objects in ASP Session variables because session state is stored on a single machine. Consider storing session state in a database instead.
Syllabus Content
  • Core
    • First C# Programs
    • Data Types in C#
    • Operators and Expressions
    • Control Structures
    • Objects
    • Classes
    • Inheritance
    • Polymorphism
    • Object-Oriented Languages
    • Components
    • Classes as Structured Data
    • Methods
    • Constructors and Initialization
    • Static Fields and Methods
    • Constant and Readonly
    • Types
    • Characters and Strings
    • Arrays and Indexers
    • Exception Handling
    • Interfaces
    • .NET Interfaces and Collections
    • Delegates and Events
Add Your Review
required
required not valid email
required
required
Hook up Course
  • Starts
  • Duration2 Months, 6 hrs / week
  • Seats Booked43
  • Seats Available7
  • LanguageEnglish