Turu C# dilA Tour of the C# Language

C# (okunur "Bkz Sharp") bir basit, modern, nesne yönelimli ve tür kullanımı uyumlu programlama dilidir.C# (pronounced "See Sharp") is a simple, modern, object-oriented, and type-safe programming language. C#kendi kökleri dilleri C ailesinde vardır ve C, C++, Java ve JavaScript programcıları için hemen tanıdık gelecektir.C# has its roots in the C family of languages and will be immediately familiar to C, C++, Java, and JavaScript programmers. Bu Turun dil ana bileşenleri'ne genel bakış sağlar.This tour provides an overview of the major components of the language. Dil etkileşimli örnekleri keşfedin, deneyin bizim giriş C# öğreticiler.If you want to explore the language through interactive examples, try our introduction to C# tutorials.

C#, nesne yönelimli bir dildir ancak C# daha fazla için destek içerir bileşen odaklı programlama.C# is an object-oriented language, but C# further includes support for component-oriented programming. Çağdaş yazılım tasarımı giderek daha fazla işlevsellik müstakil ve kendiliğinden açıklayıcı paketleri biçiminde yazılım bileşenlerini kullanır.Contemporary software design increasingly relies on software components in the form of self-contained and self-describing packages of functionality. Bu bileşenler özellikleri, yöntemleri ve olayları ile bunların bir programlama modeli sunar, anahtarıdır; bileşen hakkında tanımlayıcı bilgiler sağlayan özniteliklerine sahip oldukları; ve bunlar kendi belgelerinin dahil edilip derecelendirilir.Key to such components is that they present a programming model with properties, methods, and events; they have attributes that provide declarative information about the component; and they incorporate their own documentation. C#dil yapıları doğrudan yaparak, bu kavramları desteklemek için sağlar C# doğal dilde çok oluşturun ve yazılım bileşenlerini kullanın.C# provides language constructs to support directly these concepts, making C# a very natural language in which to create and use software components.

Birkaç C# ürettiği yapımı güçlü ve dayanıklı uygulamaların özellikleri: Çöp toplama otomatik olarak kullanılmayan erişilemeyen nesneler tarafından; kapladığı belleği geri kazanır özel durum işleme hata algılama ve kurtarma; yapılandırılmış ve Genişletilebilir bir yaklaşım sunan ve tür kullanımı uyumlu dilinin tasarım kılar imkansız başlatılmamış değişkenlerinden okuyun dizin için kendi sınırları ötesinde veya denetlenmeyen gerçekleştirmek için bir dizi yayınları yazın.Several C# features aid in the construction of robust and durable applications: Garbage collection automatically reclaims memory occupied by unreachable unused objects; exception handling provides a structured and extensible approach to error detection and recovery; and the type-safe design of the language makes it impossible to read from uninitialized variables, to index arrays beyond their bounds, or to perform unchecked type casts.

C# sahip bir tür sistemi birleşik.C# has a unified type system. Gibi ilkel türler dahil olmak üzere tüm C# türü, int ve double, tek bir kök devral object türü.All C# types, including primitive types such as int and double, inherit from a single root object type. Bu nedenle, bir dizi ortak işlemlerini tüm türleri paylaşın ve herhangi bir tür değerleri depolanan, taşınan ve tutarlı bir şekilde üzerinde işlem.Thus, all types share a set of common operations, and values of any type can be stored, transported, and operated upon in a consistent manner. Ayrıca, C# hem kullanıcı tarafından tanımlanan başvuru türleri ve değer türleri, nesnelerin dinamik ayırması yanı sıra basit yapılar satır içi depolanmasını sağlayan destekler.Furthermore, C# supports both user-defined reference types and value types, allowing dynamic allocation of objects as well as in-line storage of lightweight structures.

Emin olmak için C# programlar ve kitaplıklar evrim Geçiren zamanla uyumlu bir şekilde, çok Vurgu yerleştirilir sürüm içinde C#kullanıcının tasarlayın.To ensure that C# programs and libraries can evolve over time in a compatible manner, much emphasis has been placed on versioning in C#’s design. Birçok programlama dili bu sorun için çok az dikkat edin ve sonuç olarak, bu dillerin sonu bağımlı kitaplıkları gerekli olduğunda daha yeni sürümleri daha sık yazılan programlar sunulmuştur.Many programming languages pay little attention to this issue, and, as a result, programs written in those languages break more often than necessary when newer versions of dependent libraries are introduced. Yönlerini C#kullanıcının sürüm hususları doğrudan etkileyen tasarım dahil ayrı virtual ve override değiştiriciler, yöntem aşırı yükleme çözümlemesi için kurallar ve açık arabirim üyesi bildirimi için destek.Aspects of C#’s design that were directly influenced by versioning considerations include the separate virtual and override modifiers, the rules for method overload resolution, and support for explicit interface member declarations.

Merhaba DünyaHello world

"Hello, World" programı, geleneksel bir programlama dili tanıtmak için kullanılır.The "Hello, World" program is traditionally used to introduce a programming language. Bunu C# ' de şu şekildedir:Here it is in C#:

using System;
class Hello
{
    static void Main()
    {
        Console.WriteLine("Hello, World");
    }
}

C# kaynak dosyaları, genellikle dosya uzantısına sahip .cs.C# source files typically have the file extension .cs. "Hello, World" program dosyasında depolanan varsayarak hello.cs, programın komut satırı kullanılarak derlenmiş:Assuming that the "Hello, World" program is stored in the file hello.cs, the program might be compiled using the command line:

csc hello.cs

hangi hello.exe adlı yürütülebilir bir derleme oluşturur.which produces an executable assembly named hello.exe. Çalıştırıldığında, bu uygulama tarafından üretilen çıktı.The output produced by this application when it is run is:

Hello, World

Önemli

csc Tam Framework komut ve tüm platformlarda kullanılamayabilir.The csc command compiles for the full framework, and may not be available on all platforms.

"Hello, World" programı ile başlayan bir using başvuran yönergesi System ad alanı.The "Hello, World" program starts with a using directive that references the System namespace. Ad alanlarında, C# programları ve kitaplıkları düzenleme, hiyerarşik bir yöntem sağlar.Namespaces provide a hierarchical means of organizing C# programs and libraries. Ad alanları, türler ve diğer ad alanları içerir — örneğin, System ad alanı içeren bir dizi türleri gibi Console program ve diğer ad alanları, bir sayı gibi başvurulan sınıfı IO ve Collections.Namespaces contain types and other namespaces—for example, the System namespace contains a number of types, such as the Console class referenced in the program, and a number of other namespaces, such as IO and Collections. A using belirtilen bir ad alanı başvuruyor yönergesi bu ad alanının üyeleri olan türlerinin nitelenmemiş kullanımı sağlar.A using directive that references a given namespace enables unqualified use of the types that are members of that namespace. Nedeniyle using yönerge, programın kullanabilirsiniz Console.WriteLine için kısayol olarak System.Console.WriteLine.Because of the using directive, the program can use Console.WriteLine as shorthand for System.Console.WriteLine.

Hello "Hello, World" program tarafından bildirilen adlı yöntem tek bir üye sınıfında Main.The Hello class declared by the "Hello, World" program has a single member, the method named Main. Main Yöntemi statik değiştiriciyle bildirildi.The Main method is declared with the static modifier. Örnek yöntemleri anahtar sözcüğü kullanılarak belirli kapsayan nesne örneği başvurabilirsiniz ancak this, belirli bir nesneye başvuru olmadan statik yöntemleri çalışır.While instance methods can reference a particular enclosing object instance using the keyword this, static methods operate without reference to a particular object. Kural gereği, adlı statik bir yöntemi Main bir programın giriş noktası olarak görev yapar.By convention, a static method named Main serves as the entry point of a program.

Program çıktısı tarafından üretilen WriteLine yöntemi Console sınıfını System ad alanı.The output of the program is produced by the WriteLine method of the Console class in the System namespace. Bu sınıf, varsayılan olarak, derleyici tarafından otomatik olarak başvurulur, standart sınıf kitaplıkları tarafından sağlanır.This class is provided by the standard class libraries, which, by default, are automatically referenced by the compiler.

Hakkında bilgi edinmek için çok daha fazla C#.There's a lot more to learn about C#. Aşağıdaki konularda öğelerinin genel bir bakış C# dili.The following topics provide an overview of the elements of the C# language. Bu genel bakışlar dilinin tüm öğeleri hakkında temel bilgiler sağlar ve ayrıntılar daha kapsamlı öğeleri için gerekli bilgileri size C# dil:These overviews will provide basic information about all elements of the language and give you the information necessary to dive deeper into elements of the C# language:

  • Program YapısıProgram Structure
    • Kuruluş temel kavramları öğrenin C# dil: programlar, ad alanları, türleri, üyelerive derlemeleri.Learn the key organizational concepts in the C# language: programs, namespaces, types, members, and assemblies.
  • Türler ve DeğişkenlerTypes and Variables
    • Hakkında bilgi edinin değer türleri, başvuru türleri, ve değişkenleri içinde C# dili.Learn about value types, reference types, and variables in the C# language.
  • İfadelerExpressions
    • İfadeleri oluşturulan işlenenler ve işleçleri.Expressions are constructed from operands and operators. İfade bir değer üretir.Expressions produce a value.
  • DeyimlerStatements
    • Kullandığınız deyimleri eylemleri bir programın ifade etmek için.You use statements to express the actions of a program.
  • Sınıflar ve nesnelerClasses and objects
    • Sınıflar olan en temel C# türü.Classes are the most fundamental of C#'s types. Nesneleri sınıfının örnekleridir.Objects are instances of a class. Sınıflar kullanılarak oluşturulur üyeleri, hangi de ele alınmıştır bölümüne bakın.Classes are built using members, which are also covered in this topic.
  • YapılarStructs
    • Yapılar , farklı sınıflar, değer türleri veri yapılarını.Structs are data structures that, unlike classes, are value types.
  • DizilerArrays
    • Bir dizi hesaplanan dizinlerini erişilen değişken bir sayı içeren bir veri yapısıdır.An array is a data structure that contains a number of variables that are accessed through computed indices.
  • ArabirimlerInterfaces
    • Bir arabirimi sınıfları ve yapıları tarafından uygulanan bir sözleşmeyi tanımlar.An interface defines a contract that can be implemented by classes and structs. Bir arabirim yöntemleri, özellikleri, olayları ve dizin oluşturucular içerebilir.An interface can contain methods, properties, events, and indexers. Bir arabirim tanımlar üyelerinin uygulamalarını sağlamaz; yalnızca bir sınıf ya da arabirimi uygulayan yapının tarafından sağlanması gereken üyeleri belirtir.An interface does not provide implementations of the members it defines—it merely specifies the members that must be supplied by classes or structs that implement the interface.
  • Sabit listeleriEnums
    • Bir sabit listesi türü adlandırılmış sabitler kümesini içeren farklı bir değer türüdür.An enum type is a distinct value type with a set of named constants.
  • TemsilcilerDelegates
    • A temsilci türü belirli bir parametre olan yöntemlere başvuruları temsil listesi ve dönüş türü.A delegate type represents references to methods with a particular parameter list and return type. Temsilciler, yöntemleri değişkenine atanır ve parametre olarak geçirilen varlıklar olarak değerlendirmek mümkün kılar.Delegates make it possible to treat methods as entities that can be assigned to variables and passed as parameters. Diğer dillerde bulunan işlev işaretçileri kavramı temsilcileri benzerdir ancak işlev işaretçileri, nesne yönelimli ve tür kullanımı uyumlu temsilciler.Delegates are similar to the concept of function pointers found in some other languages, but unlike function pointers, delegates are object-oriented and type-safe.
  • ÖzniteliklerAttributes
    • Öznitelikleri programları türleri, üyeleri ve diğer varlıkları hakkında daha fazla bildirim temelli bilgi belirtmek etkinleştirin.Attributes enable programs to specify additional declarative information about types, members, and other entities.