Основы языка С#
История
Первая программа на C#
using System; - подключение пространства имен namespace first { - новое пространство имен class Program { - класс Program static void Main(string[] args) - главная функция { Console.WriteLine(“HELLO, WORLD!!!"); } } }
Синтаксис языка С#
Типы данных C#
Типы данных C#
Все встроенные типы C# однозначно отображаются, а фактически совпадают с системными типами каркаса .NET Framework, размещенными в пространстве имен System. В языке C# сглажено различие между типом и классом. Все типы — встроенные и пользовательские — одновременно являются классами, связанными отношением наследования. Родительским, базовым классом является класс Object.
Класс Object
class Program { int x = 11; uint ux = 1111; float y = 5.5f; double dy = 5.55; string s = "Hello!"; object obj = new Object(); void WhoIsWho(string name, object any) { Console.WriteLine("type {0} is {1} , value is {2}", name, any.GetType(), any.ToString()); } public void test() { WhoIsWho("x",x); WhoIsWho("ux",ux); WhoIsWho("y",y); WhoIsWho("dy",dy); WhoIsWho("s",s); WhoIsWho("11 + 5.55 + 5.5f",11 + 5.55 + 5.5f); obj = 11 + 5.55 + 5.5f; WhoIsWho("obj",obj); } static void Main(string[] args) { Program o1 = new Program(); o1.test(); } }
Преобразование встроенных типов
Преобразования строкового типа
public void FromStringTest() { string s, s1; uint ux; s ="Введите возраст "; Console.WriteLine(s); s1 = Console.ReadLine(); ux = Convert.ToUInt32(s1); WhoIsWho("Возраст: ",ux); Console.WriteLine("Введите зарплату "); double dy; dy = Convert.ToDouble(Console.ReadLine()); WhoIsWho("Зарплата: ",dy); } System.DateTime dat = Convert.ToDateTime("15.03.2003"); Console.WriteLine("Date = {0}", dat); Результат: Date = 15.03.2003 0:00:00
public void Parsing() { Console.WriteLine("Введите целое"); string strdata = Console.ReadLine(); int idata = int.Parse(strdata); Console.WriteLine("Введите число с дробной частью и порядком"); strdata = Console.ReadLine(); double ddata = double.Parse(strdata); Console.WriteLine("int data = {0}; double data = {1}",idata, ddata); }
Константы
Переменные
[<атрибуты>] [<модификаторы>] <тип> <идентификатор>; class Testing { string name; int x; double y; public void ScopeVar(int x) { //int x=0; - ошибка int y =77; string s = name; // поле класса доступно в методе if (s=="Точка1") { int u = 5; int v = u+y; x +=1; Console.WriteLine("y= {0}; u={1}; v={2}; x={3}", y,u,v,x); } else { int u= 7; int v= u+y; Console.WriteLine("y= {0}; u={1}; v={2}", y,u,v); } //Console.WriteLine("y= {0}; u={1}; v={2}",y,u,v); - Переменные уже не доступны //static int Count = 1; - Локальные переменные не могут быть статическими. int i; long sum =0; for(i=1; i<x; i++) { // float y = 7.7f; - ошибка: коллизия имен sum +=i; } } }
//переменные в выражениях должны быть инициализированы int an =0 ; for (int i= 0;i<5;i++) an =i+1; x+=an; z+=an; y = an; //массивы могут быть без инициализации for (int i= 0;i<3;i++) { ard[i] += i+1; ars[i] += i.ToString()+1; Console.WriteLine("ard[" +i + "]=" +ard[i] + "; ars[" +i + "]=" +ars[i]); } // нельзя использовать в логических выражениях переменные типа int int k; if(k) //Ошибка! // неявно типизированные переменные var myInt =0; var AnotherInt = myInt; var myString = “Hello”; var myData = myString;
Операции
Класс Math и его функции
public void MathFunctions(){ double a, b,t,t0,dt,y; string NameFunction; Console.WriteLine("Введите имя исследуемой функции a*F(b*t)" + " (sin, cos, tan, cotan
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.