C# 30.09.2023
This commit is contained in:
		
							
								
								
									
										84
									
								
								C#/C#.md
									
									
									
									
									
								
							
							
						
						
									
										84
									
								
								C#/C#.md
									
									
									
									
									
								
							@@ -350,3 +350,87 @@ int Sum1(int a, int b) {
 | 
			
		||||
 | 
			
		||||
int Sum2(int a, int b) => a + b;
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Рекурсия
 | 
			
		||||
 | 
			
		||||
```C#
 | 
			
		||||
int Factorial(int n) {
 | 
			
		||||
    if (n == 0) return 1;
 | 
			
		||||
 | 
			
		||||
    return n * Factorial(n - 1);
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Функции внути функций
 | 
			
		||||
 | 
			
		||||
```C#
 | 
			
		||||
int Sum2Arr(int[] arr1, int[] arr2) {
 | 
			
		||||
 | 
			
		||||
    int Sum(int[] arr) {
 | 
			
		||||
        int result = 0;
 | 
			
		||||
        foreach (int i in arr) {
 | 
			
		||||
            result += i;
 | 
			
		||||
        }
 | 
			
		||||
        return result;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return Sum(arr1) + Sum(arr2);
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Enum
 | 
			
		||||
 | 
			
		||||
Enum используется для хранения состояния
 | 
			
		||||
 | 
			
		||||
```C#
 | 
			
		||||
enum Operation {
 | 
			
		||||
    Add,
 | 
			
		||||
    Sub
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Operation foo = Operation.Add;
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Тип констант перечисления
 | 
			
		||||
 | 
			
		||||
```C#
 | 
			
		||||
enum Time: byte {
 | 
			
		||||
    Morning,
 | 
			
		||||
    Afternoon,
 | 
			
		||||
    Evening,
 | 
			
		||||
    Night
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Тип обязательно должен быть целочисленным. По умолчанию int
 | 
			
		||||
 | 
			
		||||
### Задание значения для Enum
 | 
			
		||||
 | 
			
		||||
```C#
 | 
			
		||||
enum DayTime {
 | 
			
		||||
    Morning = 3,
 | 
			
		||||
    Afternoon // 4
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## OOP
 | 
			
		||||
 | 
			
		||||
OOP - зло, C# - OOP -> C# - зло
 | 
			
		||||
 | 
			
		||||
```C#
 | 
			
		||||
namespace Foo {
 | 
			
		||||
    internal class Enemy {
 | 
			
		||||
        public int hp;
 | 
			
		||||
        public int armor;
 | 
			
		||||
        public int damage;
 | 
			
		||||
 | 
			
		||||
        public void Move() {
 | 
			
		||||
            Console.WriteLine("I am moving");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void Attack() {
 | 
			
		||||
            Console.WriteLine("I am attacking");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user