Это подробное руководство по основам языка C#, включающее примеры программ, которые демонстрируют различные концепции программирования на C#.
Каждая программа на C# начинается с класса с методом Main
:
using System;
class Program {
static void Main() {
Console.WriteLine("Hello, World!");
}
}
Основные типы данных в C#:
int
— целые числаfloat
— числа с плавающей запятойdouble
— числа с двойной точностьюchar
— одиночные символыПример использования арифметических операций в C#:
using System;
class ArithmeticOperations {
static void Main() {
int a = 10, b = 20;
int sum = a + b;
int diff = b - a;
int prod = a * b;
int div = b / a;
int mod = b % a;
Console.WriteLine("Sum: " + sum);
Console.WriteLine("Difference: " + diff);
Console.WriteLine("Product: " + prod);
Console.WriteLine("Division: " + div);
Console.WriteLine("Modulus: " + mod);
}
}
Ввод и вывод данных с использованием Console.ReadLine
и Console.WriteLine
:
using System;
class InputOutput {
static void Main() {
Console.Write("Enter an integer: ");
int num = int.Parse(Console.ReadLine());
Console.WriteLine("You entered: " + num);
}
}
Пример использования оператора if-else
:
using System;
class ConditionalOperators {
static void Main() {
Console.Write("Enter an integer: ");
int num = int.Parse(Console.ReadLine());
if (num > 0) {
Console.WriteLine("The number is positive.");
} else if (num < 0) {
Console.WriteLine("The number is negative.");
} else {
Console.WriteLine("The number is zero.");
}
}
}
Пример цикла while
:
using System;
class WhileLoop {
static void Main() {
int i = 0;
while (i < 5) {
Console.WriteLine("i = " + i);
i++;
}
}
}
Пример работы с массивами:
using System;
class Arrays {
static void Main() {
int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.Length; i++) {
Console.WriteLine("arr[" + i + "] = " + arr[i]);
}
}
}
Пример создания и использования метода:
using System;
class Methods {
static void Greet() {
Console.WriteLine("Hello from the method!");
}
static void Main() {
Greet();
}
}
Пример создания и использования классов:
using System;
class Rectangle {
private double width;
private double height;
public Rectangle(double w, double h) {
width = w;
height = h;
}
public double Area() {
return width * height;
}
public void Display() {
Console.WriteLine("Width: " + width + ", Height: " + height + ", Area: " + Area());
}
static void Main() {
Rectangle rect = new Rectangle(5.0, 3.0);
rect.Display();
}
}
Пример использования наследования в C#:
using System;
class Animal {
public virtual void Speak() {
Console.WriteLine("Animal makes a sound.");
}
}
class Dog : Animal {
public override void Speak() {
Console.WriteLine("Dog barks.");
}
static void Main() {
Animal animal = new Dog();
animal.Speak();
}
}
В C# нет указателей в традиционном смысле, но можно работать с ссылками на объекты:
using System;
class Pointers {
static void Main() {
int num = 10;
int refNum = num;
Console.WriteLine("Value of num: " + num);
Console.WriteLine("Value via reference: " + refNum);
refNum = 20;
Console.WriteLine("New value of num: " + num);
}
}
В C# управление памятью осуществляется автоматически сборщиком мусора, но вот пример создания объекта:
using System;
class MemoryAllocation {
static void Main() {
int num = new int();
num = 10;
Console.WriteLine("Value: " + num);
}
}
Пример работы с коллекциями в C#:
using System;
using System.Collections.Generic;
class Collections {
static void Main() {
List list = new List { "Hello", "World" };
foreach (string item in list) {
Console.WriteLine(item);
}
}
}
Пример обработки исключений:
using System;
class ExceptionHandling {
static int Divide(int a, int b) {
if (b == 0) {
throw new DivideByZeroException("Division by zero");
}
return a / b;
}
static void Main() {
try {
Console.WriteLine("Result: " + Divide(10, 2));
Console.WriteLine("Result: " + Divide(10, 0));
} catch (DivideByZeroException e) {
Console.WriteLine("Error: " + e.Message);
}
}
}
Пример работы с файлами в C#:
using System;
using System.IO;
class FileHandling {
static void Main() {
try {
File.WriteAllText("example.txt", "Hello, file!");
} catch (IOException e) {
Console.WriteLine("Error writing to file: " + e.Message);
}
try {
string[] lines = File.ReadAllLines("example.txt");
foreach (string line in lines) {
Console.WriteLine(line);
}
} catch (IOException e) {
Console.WriteLine("Error reading from file: " + e.Message);
}
}
}