Instrukcje (Podręcznik programowania C#)
Akcje, które program ma wyrażone są w sprawozdaniu.Wspólne działania obejmują deklarowania zmiennych, przypisywanie wartości, wywołanie metody, pętli kolekcje i rozgałęzienia do jednej lub drugiej bloku kodu, w zależności od danego warunku.Kolejność, w której instrukcje są wykonywane w programie jest nazywany przepływ sterowania lub przepływ wykonanie.Przepływ sterowania mogą różnić się każdym razem, gdy program zostanie uruchomiony, w zależności od tego, jak program reaguje na dane wejściowe otrzymuje w czasie wykonywania.
Instrukcja może składać się z jednej linii kodu, który kończy się średnikiem lub seria pojedynczej linii instrukcji w bloku.Blok instrukcji jest ujęty w nawiasach {} i może zawierać zagnieżdżone bloki.Poniższy kod przedstawia dwa przykłady instrukcji jednowierszowym i wielowierszowym instrukcja blok:
static void Main()
{
// Declaration statement.
int counter;
// Assignment statement.
counter = 1;
// Error! This is an expression, not an expression statement.
// counter + 1;
// Declaration statements with initializers are functionally
// equivalent to declaration statement followed by assignment statement:
int[] radii = { 15, 32, 108, 74, 9 }; // Declare and initialize an array.
const double pi = 3.14159; // Declare and initialize constant.
// foreach statement block that contains multiple statements.
foreach (int radius in radii)
{
// Declaration statement with initializer.
double circumference = pi * (2 * radius);
// Expression statement (method invocation). A single-line
// statement can span multiple text lines because line breaks
// are treated as white space, which is ignored by the compiler.
System.Console.WriteLine("Radius of circle #{0} is {1}. Circumference = {2:N2}",
counter, radius, circumference);
// Expression statement (postfix increment).
counter++;
} // End of foreach statement block
} // End of Main method body.
} // End of SimpleStatements class.
/*
Output:
Radius of circle #1 = 15. Circumference = 94.25
Radius of circle #2 = 32. Circumference = 201.06
Radius of circle #3 = 108. Circumference = 678.58
Radius of circle #4 = 74. Circumference = 464.96
Radius of circle #5 = 9. Circumference = 56.55
*/
Typy instrukcji
Poniższa tabela zawiera listę różnych rodzajów instrukcji w C# i ich skojarzone słowa kluczowe, łącza do tematów, które zawierają więcej informacji:
Kategoria |
Słowa kluczowe języka C# / notes |
---|---|
Instrukcje deklaracji |
Instrukcja deklaracji wprowadza nową zmienną lub stałą.Deklaracja zmiennej można opcjonalnie przypisać wartość do zmiennej.W deklaracji stałej przydział jest wymagane. |
Instrukcje wyrażeń |
Instrukcje wyrażeń, które obliczają wartości wartość muszą być przechowywane w zmiennej.
|
Wybór instrukcje umożliwiają gałęzi do różnych sekcji kodu, w zależności od jednego lub więcej określonych warunków.Aby uzyskać więcej informacji zobacz następujące tematy: |
|
Instrukcje iteracji umożliwiają pętli kolekcje, takie jak tablice, lub wykonać ten sam zestaw instrukcji wielokrotnie, dopóki nie zostanie spełniony określony warunek.Aby uzyskać więcej informacji zobacz następujące tematy: |
|
Instrukcje przeniesienia sterowania należy przejść do innej części kodu.Aby uzyskać więcej informacji zobacz następujące tematy: |
|
Instrukcje obsługi wyjątku umożliwiają bezpiecznie odzyskać z wyjątkowych warunków, które występują w czasie wykonywania.Aby uzyskać więcej informacji zobacz następujące tematy: |
|
Sprawdzane i zaznaczone instrukcje pozwalają określić, czy operacje liczbowe mogą spowodować przepełnienie, kiedy wynik jest przechowywana w zmiennej, która jest zbyt mały, aby pomieścić na wartość wynikową.Aby uzyskać więcej informacji, zobacz sprawdzane i niesprawdzony. |
|
await Instrukcji |
Jeśli oznaczysz metoda z asynchroniczne modyfikator, można użyć czekają na operator w metodzie.Kiedy sterowania osiąga await wyrażenie w metoda komunikacji asynchronicznej, sterowanie powraca do wywołującego i postępu w metodzie jest zawieszone aż do zakończenia zadania oczekiwany.Po wykonaniu zadania w metodzie wznowić wykonywanie. Prosty przykład, zobacz sekcję "Async metody" Metody (Podręcznik programowania C#).Aby uzyskać więcej informacji, zobacz Asynchroniczne programowania przy użyciu asynchronicznej i poczekać (C# i Visual Basic). |
yield return Instrukcji |
Iterację wykonuje niestandardowe iteracji przez kolekcję, takie jak listy lub tablicy.Iterację używa zwróceniu przekazu instrukcja zwraca każdy jeden element naraz.Gdy yield return instrukcja zostanie osiągnięty, bieżącej lokalizacji w kodzie jest zapamiętany.Wykonanie ponownego uruchomienia z tej lokalizacji po sterująca nazywa się następnym razem. Aby uzyskać więcej informacji, zobacz Iteratory (C# i Visual Basic). |
fixed Instrukcji |
Ustalonej instrukcji zapobiega przenoszeniu ruchome zmiennej garbage collector.Aby uzyskać więcej informacji, zobacz stałej. |
lock Instrukcji |
Instrukcja lock umożliwia ograniczanie dostępu do bloków kodu, aby tylko jeden wątek na raz.Aby uzyskać więcej informacji, zobacz Blokada. |
Sprawozdania z etykietami |
Można podać etykietę, a następnie użyć goto słów kluczowych, aby przejść do instrukcji etykietami.(Zobacz przykład w następujący wiersz). |
Instrukcja pusta |
Instrukcja pusta składa się z pojedynczego średnik.To nic nie robi i mogą być używane w miejscach, gdzie wymagane jest oświadczenie, ale musi być wykonywane żadne działania.Następujące przykłady przedstawiają dwa używa pustej instrukcji: |
Osadzone instrukcje
Niektóre instrukcji, łącznie z czy, a, dla, i foreach, zawsze mają osadzone oświadczenie, że podąża za nimi.Ten osadzony instrukcja może być pojedynczą instrukcją lub wiele instrukcji ujęta w nawiasy klamrowe {} w bloku instrukcji.Osadzone instrukcje nawet pojedynczej linii mogą być ujęte w nawiasach {}, jak pokazano w poniższym przykładzie:
// Recommended style. Embedded statement in block.
foreach (string s in System.IO.Directory.GetDirectories(
System.Environment.CurrentDirectory))
{
System.Console.WriteLine(s);
}
// Not recommended.
foreach (string s in System.IO.Directory.GetDirectories(
System.Environment.CurrentDirectory))
System.Console.WriteLine(s);
Osadzona instrukcja, nie jest ujęte w nawiasach {} nie może być deklaracja lub etykietą instrukcja.Jest to zademonstrowane w poniższym przykładzie:
if(pointB == true)
//Error CS1023:
int radius = 5;
Umieścić osadzona instrukcja w bloku, aby naprawić błąd:
if (b == true)
{
// OK:
System.DateTime d = System.DateTime.Now;
System.Console.WriteLine(d.ToLongDateString());
}
Zagnieżdżone bloki instrukcji
Instrukcja można zagnieżdżać, jak pokazano w poniższym kodzie:
foreach (string s in System.IO.Directory.GetDirectories(
System.Environment.CurrentDirectory))
{
if (s.StartsWith("CSharp"))
{
if (s.EndsWith("TempFolder"))
{
return s;
}
}
}
return "Not found.";
Oświadczenia jest nieosiągalny
Kompilator Określa przepływ sterowania nigdy nie dotrą określonych instrukcji w żadnych okolicznościach, powoduje wygenerowanie ostrzeżenia CS0162, jak pokazano w poniższym przykładzie:
// An over-simplified example of unreachable code.
const int val = 5;
if (val < 4)
{
System.Console.WriteLine("I'll never write anything."); //CS0162
}
Sekcje pokrewne
Specyfikacja języka C#
Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka to najlepsze źródło informacji dotyczących składni i zastosowania języka C#.