Валентин Сунцев
6 years ago
9 changed files with 338 additions and 1 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,334 @@ |
|||||||
|
using System; |
||||||
|
using System.Collections.Generic; |
||||||
|
using System.Text; |
||||||
|
using static System.Console; |
||||||
|
|
||||||
|
|
||||||
|
namespace test_1st_chapter_ |
||||||
|
{ |
||||||
|
|
||||||
|
// КОНСТРУКТОР |
||||||
|
public class konstruktor |
||||||
|
{ |
||||||
|
string str = string.Empty; |
||||||
|
int chislo = 0; |
||||||
|
List<char> bykvi = new List<char>(); |
||||||
|
public konstruktor (string text) // САМ КОНСТРУКТОР |
||||||
|
{ |
||||||
|
str = text; |
||||||
|
chislo = text.Length; |
||||||
|
|
||||||
|
for (int i = 0; i < text.Length; i++) |
||||||
|
bykvi.Add(str[i]); |
||||||
|
bykvi.Sort(); |
||||||
|
} |
||||||
|
public int BykviChislo() => str.Length; // МЕТОД КОНСТРУКТОРА (с лямбдой выражением - заменяет return и скобки) |
||||||
|
|
||||||
|
public string Bykvi() // МЕТОД КОНСТРУКТОРА |
||||||
|
{ |
||||||
|
string strn = string.Empty; |
||||||
|
for(int i = 0; i < bykvi.Count; i++) |
||||||
|
strn += bykvi[i] + " "; |
||||||
|
return strn; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// СТРУКТУРА (может содержать конструкторы, методы и тд) |
||||||
|
public struct Struktura |
||||||
|
{ |
||||||
|
public string Name; |
||||||
|
public int Number; |
||||||
|
public Struktura (string n, int nu) |
||||||
|
{ |
||||||
|
Name = n; |
||||||
|
Number = nu; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// ССЫЛОЧНЫЙ ТИП |
||||||
|
public class Znach |
||||||
|
{ |
||||||
|
public int x, y; |
||||||
|
} |
||||||
|
|
||||||
|
class Program |
||||||
|
{ |
||||||
|
static void Main(string[] args) |
||||||
|
{ |
||||||
|
konstruktor Fraza1 = new konstruktor("fraza"); |
||||||
|
konstruktor Fraza2 = new konstruktor("Eche chto-to"); |
||||||
|
|
||||||
|
WriteLine("Использование конструктора\n{0} {1}", Fraza1.BykviChislo(), Fraza2.Bykvi()); |
||||||
|
|
||||||
|
Struktura str1; |
||||||
|
str1.Name = "str1"; |
||||||
|
str1.Number = 1; |
||||||
|
|
||||||
|
Struktura str2 = new Struktura("str2", 2); |
||||||
|
|
||||||
|
WriteLine("\n\nИспользование структуры\n{0} {1} \n{2} {3} \n\n", str1.Number, str1.Name, str2.Number, str2.Name); |
||||||
|
|
||||||
|
Znach z1 = new Znach(); |
||||||
|
z1.x = 10; |
||||||
|
Znach z2 = z1; |
||||||
|
WriteLine("Ссылочные типы \n{0} {1}\t{2} {3}", z1.x, z1.y, z2.x, z2.y); |
||||||
|
z1.x = 15; |
||||||
|
WriteLine("{0} {1}\t{2} {3}", z1.x, z1.y, z2.x, z2.y); |
||||||
|
z2.y = 20; |
||||||
|
WriteLine("{0} {1}\t{2} {3}", z1.x, z1.y, z2.x, z2.y); |
||||||
|
Znach z3 = new Znach(); |
||||||
|
z3.x = 10; z3.y = 1; |
||||||
|
WriteLine("{0} {1}\t{2} {3}",z3.x, z3.y, z1.x, z1.y); |
||||||
|
|
||||||
|
|
||||||
|
// ЯВНОЕ И НЕЯВНОЕ ПРЕОБРАЗОВАНИЕ |
||||||
|
const string Format = "int {0} во float {1} и обратно в int {2} или конверт {3}"; |
||||||
|
int i1 = int.MaxValue; |
||||||
|
float f1 = i1; |
||||||
|
int i2 = (int)f1; |
||||||
|
bool exept = false; |
||||||
|
WriteLine("\n\nЯвное и неявное преобразование"); |
||||||
|
try |
||||||
|
{ |
||||||
|
int i21; |
||||||
|
unchecked { i21 = Convert.ToInt32(f1); } |
||||||
|
exept = true; |
||||||
|
WriteLine(Format, i1, f1, i2, i21); |
||||||
|
} |
||||||
|
catch (Exception) |
||||||
|
{ |
||||||
|
} |
||||||
|
if (exept == false) { WriteLine("int {0} во float {1} и обратно в int {2}", i1, f1, i2); } |
||||||
|
int i3 = 2000000111; |
||||||
|
float f2 = i3; |
||||||
|
int i4 = (int)f2; |
||||||
|
int i41 = Convert.ToInt32(f2); |
||||||
|
WriteLine(Format, i3, f2, i4, i41); |
||||||
|
|
||||||
|
float fl = float.MaxValue; |
||||||
|
decimal de = decimal.MaxValue; |
||||||
|
WriteLine("\n\nfloat: {0}\ndecimal: {1}\n\n", fl, de); |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
WriteLine(UseUmbrella(false, true, true) + " Зонт если нет ветра, есть солнце и дождь? \n\n"); |
||||||
|
|
||||||
|
WriteLine(Sravnenie(10, 15) + " 10 и 15"); |
||||||
|
WriteLine(Sravnenie(100, 20) + " 100 и 20"); |
||||||
|
|
||||||
|
// ДОСЛОВНАЯ (@) И ИНТЕРПОЛИРОВАННАЯ ($) СТРОКИ |
||||||
|
int qwer = 10; |
||||||
|
WriteLine("\n\nОдин слэш - \\ \nновая строка, любая переменная {0}", qwer); |
||||||
|
WriteLine($"Один слэш - \\ \nновая строка, любая переменная {qwer}"); |
||||||
|
WriteLine(@"один слэш \
|
||||||
|
новая строка, любая переменная " + qwer);
|
||||||
|
WriteLine($@"один слэш \
|
||||||
|
новая строка, любая переменная {qwer}" + "\n\n");
|
||||||
|
|
||||||
|
// МАССИВЫ И ИХ ЗАПОЛНЕНИЕ |
||||||
|
Struktura[] MassivStruktur = new Struktura[5]; //МАССИВ СТРУКТУР |
||||||
|
WriteLine(MassivStruktur[1].Number); |
||||||
|
|
||||||
|
Znach[] MassivSsilok = new Znach[5]; //МАССИВ КЛАССОВ |
||||||
|
for (int i = 0; i < MassivSsilok.Length; i++) |
||||||
|
MassivSsilok[i] = new Znach(); |
||||||
|
WriteLine(MassivSsilok[1].x + "\n\n"); |
||||||
|
|
||||||
|
int[,] Pryamoyg = new int[3, 3]; //ПРЯМОУГОЛЬНЫЙ МАССИВ |
||||||
|
int[,] Pryamoyg2 = new int[,] { { 0, 1, 2, 10 }, { 3, 4, 5, 20 }, { 6, 7, 8, 90 } }; |
||||||
|
for(int i = 0; i < Pryamoyg2.Rank + 1; i++) |
||||||
|
{ |
||||||
|
for(int j = 0; j < 4; j++) |
||||||
|
Write(Pryamoyg2[i,j] + " "); |
||||||
|
|
||||||
|
WriteLine(); |
||||||
|
} |
||||||
|
WriteLine("\n\n"); |
||||||
|
|
||||||
|
int[][] Zybchati = new int[3][]; //ЗУБЧАТЫЙ МАССИВ |
||||||
|
for(int i = 0; i < Zybchati.Length; i++) |
||||||
|
{ |
||||||
|
Zybchati[i] = new int[i + 3]; |
||||||
|
for (int j = 0; j < Zybchati[i].Length; j++) |
||||||
|
{ |
||||||
|
Zybchati[i][j] = i * 3 + j; |
||||||
|
Write(Zybchati[i][j] + " "); |
||||||
|
} |
||||||
|
WriteLine(); |
||||||
|
} |
||||||
|
Otstyp(); |
||||||
|
|
||||||
|
|
||||||
|
int[][] Zybchatii = new int[][] |
||||||
|
{ |
||||||
|
new int[] { 1, 2, 3 }, |
||||||
|
new int[] { 4, 5, 6 }, |
||||||
|
new int[] { 6, 7, 8, 9 } |
||||||
|
}; |
||||||
|
|
||||||
|
for (int i = 0; i < Zybchatii.Length; i++) |
||||||
|
{ |
||||||
|
for (int j = 0; j < Zybchatii[i].Length; j++) |
||||||
|
Write(Zybchatii[i][j] + " "); |
||||||
|
WriteLine(); |
||||||
|
} |
||||||
|
WriteLine("\n"); |
||||||
|
//НЕЯВНАЯ ИНИЦИАЛИЗАЦИЯ МАССИВА |
||||||
|
var x = new[] { "a", "10", "phrase" }; |
||||||
|
WriteLine(x.GetType() + "\n\n\n"); |
||||||
|
|
||||||
|
|
||||||
|
//ИСПОЛЬЗОВАНИЕ REF И OUT |
||||||
|
int fooX = 8; |
||||||
|
Write("Переменная {0} метод ", fooX); |
||||||
|
FooDef(fooX); |
||||||
|
WriteLine($"\nПеременная после метода: {fooX}"); |
||||||
|
|
||||||
|
Write("Переменная {0} метод ", fooX); |
||||||
|
FooRef(ref fooX); |
||||||
|
WriteLine($"\nПеременная после метода: {fooX}"); |
||||||
|
|
||||||
|
string imya, familiya; |
||||||
|
FooOut("Valentin Suntsev", out imya, out familiya); |
||||||
|
WriteLine("\n{0} {1}\n\n", familiya, imya); |
||||||
|
|
||||||
|
|
||||||
|
//ИСПОЛЬЗОВАНИЕ PARAMS |
||||||
|
int sum = Summa(12, 32, 14, 34, 12, 4); |
||||||
|
WriteLine("Использование params {0}", sum); |
||||||
|
Otstyp(); |
||||||
|
|
||||||
|
//ИСПОЛЬЗОВАНИЕ НЕОБЯЗАТЕЛЬНЫХ ПАРАМЕТРОВ |
||||||
|
Neobyaz(); |
||||||
|
Neobyaz(5); |
||||||
|
Neobyaz(5, 10); |
||||||
|
Neobyaz(y: 10, x: 5); |
||||||
|
Neobyaz(y: 10); |
||||||
|
Otstyp(); |
||||||
|
|
||||||
|
//ОПЕРАЦИИ С NULL |
||||||
|
string s1 = null, s2 = "str", s3 = "str2"; |
||||||
|
string s10 = s1 ?? s2; //проверка на null, если левое значение НЕ null, то оно присваивается, если же нет, то присвоение второго |
||||||
|
string s11 = s3 ?? s2; |
||||||
|
string s12 = s1 ?? s1; |
||||||
|
WriteLine("{0} {1} {2}", s10, s11, s12); |
||||||
|
|
||||||
|
StringBuilder sb = null; |
||||||
|
string st1 = sb?.ToString(); //проверка на null, если выражение НЕ null, то оно переводится в string, если null, то присваивается null |
||||||
|
string st2 = (sb == null ? null : sb.ToString()); //эквивалентное выражение верхнему |
||||||
|
|
||||||
|
Otstyp(); |
||||||
|
for(int i = 0, prevFib = 1, curFib = 1; i < 10; i++) |
||||||
|
{ |
||||||
|
Write(prevFib + " "); |
||||||
|
int newFib = prevFib + curFib; |
||||||
|
prevFib = curFib; curFib = newFib; |
||||||
|
} |
||||||
|
|
||||||
|
Otstyp(); |
||||||
|
string stroka = "stroka"; |
||||||
|
foreach(char c in stroka) |
||||||
|
Write(c + " "); |
||||||
|
|
||||||
|
Otstyp(); |
||||||
|
int switcher = 0; |
||||||
|
Loop: |
||||||
|
for(; switcher < 6; switcher++) |
||||||
|
{ |
||||||
|
switch (switcher) |
||||||
|
{ |
||||||
|
case 1: |
||||||
|
WriteLine("case 1"); |
||||||
|
continue; |
||||||
|
case 2: |
||||||
|
WriteLine("case 2"); |
||||||
|
switcher++; |
||||||
|
goto Loop; |
||||||
|
case 3: |
||||||
|
WriteLine("case 3"); |
||||||
|
break; |
||||||
|
default: WriteLine("lul"); break; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
testfortest.fortest fortest = new testfortest.fortest("stroka"); |
||||||
|
WriteLine("{0}", fortest.dlina()); |
||||||
|
Otstyp(); |
||||||
|
|
||||||
|
|
||||||
|
float ff1 = 1.0f; |
||||||
|
float ff2 = 0.0f; |
||||||
|
float ff3 = -0.0f; |
||||||
|
float ff4 = -1.0f; |
||||||
|
WriteLine("{0} {1} {2} {3}\n{4}", ff1 / ff2, ff1 / ff3, ff4 / ff2, ff4 / ff3, ff2 / ff2); |
||||||
|
<<<<<<< HEAD |
||||||
|
WriteLine("line for master"); |
||||||
|
WriteLine("line for master2"); |
||||||
|
======= |
||||||
|
WriteLine("test line fot t1"); |
||||||
|
WriteLine("test line2 fot t1"); |
||||||
|
>>>>>>> testline |
||||||
|
|
||||||
|
ReadKey(); |
||||||
|
} |
||||||
|
|
||||||
|
static bool UseUmbrella(bool wind, bool sun, bool rain) => !wind && (sun || rain); // ПРОСТОЙ БУЛЕВЫЙ МЕТОД |
||||||
|
|
||||||
|
static int Sravnenie(int a, int b) => (a < b) ? a : b; // ТЕРНАРНАЯ ОПЕРАЦИЯ |
||||||
|
|
||||||
|
static void FooDef(int x) //ПРИМЕНЕНИЕ REF И OUT |
||||||
|
{ |
||||||
|
x++; |
||||||
|
Write(x); |
||||||
|
} |
||||||
|
|
||||||
|
static void FooRef (ref int x) |
||||||
|
{ |
||||||
|
x++; |
||||||
|
Write(x); |
||||||
|
} |
||||||
|
|
||||||
|
static void FooOut (string name, out string imya, out string familiya) |
||||||
|
{ |
||||||
|
int i = name.LastIndexOf(' '); |
||||||
|
imya = name.Substring(0, i); |
||||||
|
familiya = name.Substring(i + 1); |
||||||
|
} |
||||||
|
|
||||||
|
static int Summa (params int[] ints) //ИСПОЛЬЗОВАНИЕ PARAMS |
||||||
|
{ |
||||||
|
int sum = 0; |
||||||
|
for (int i = 0; i < ints.Length; i++) |
||||||
|
sum += ints[i]; |
||||||
|
return sum; |
||||||
|
} |
||||||
|
|
||||||
|
static void Neobyaz (int x = 23, int y = 32) //ИСПОЛЬЗОВАНИЕ НЕОБЯЗАТЕЛЬНЫХ ПАРАМЕТРОВ |
||||||
|
{ |
||||||
|
WriteLine("x {0}, y {1}", x, y); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void Otstyp() |
||||||
|
{ |
||||||
|
WriteLine("\n\n"); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
namespace testfortest |
||||||
|
{ |
||||||
|
public class fortest |
||||||
|
{ |
||||||
|
string text; |
||||||
|
int dlin; |
||||||
|
public fortest(string str) |
||||||
|
{ |
||||||
|
text = str; |
||||||
|
dlin = str.Length; |
||||||
|
} |
||||||
|
|
||||||
|
public int dlina() => dlin; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue