Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Diagnostics;
- using System.Net;
- using System.Linq;
- using System.Collections.Generic;
- class CSharpAdvanced
- {
- static void demo()
- {
- Console.WriteLine("This is a demo method.");
- }
- static void Main()
- {
- //Методите (които съм свикнал да наричам функции) се пишат по същият начин с едно изключение. За да можем да ги извикваме
- //без да правим променлива от този клас (тъй като в C# всичко е в класове) трябва да ги правим static.
- demo();
- //.NET framework има много build-in класове готови за използване. По-рано в курса използвахме DateTime класа, както и постоянно
- // Math класа. Класовете са доста и разнообразни и е препоръчително да се разгледат в MSDN, но ще добавя малко информация
- //за някои интересни класове и техните функции.
- //Class Random. Класа random се използва за създаване на произволно число. Синтаксиса е следния:
- Random rnd = new Random();
- int randomNumber = rnd.Next(1, 10);
- Console.WriteLine(randomNumber);
- //Аргументите в скобите на Next показват от какво до какво число се иска произволното число.
- Console.WriteLine(rnd.Next(25,50));
- //Class WebClient. Позволява работа с интернет. Изисква се System.Net Синтаксиса е:
- WebClient webCVariable = new WebClient();
- webCVariable.DownloadFile("http://cs10305.vk.me/u164065738/-14/x_dd1193cc.jpg", "x_dd1193cc.jpg");
- //DownloadFile сваля файл от интернет. Първият аргумент в скобите е link-а в интернет, а вторият е името на файла.
- Process.Start("x_dd1193cc.jpg");
- //Provess позволява стартирането на външни процеси. Изисква Syste.Diagnostics.
- //Масивите в C# имат идентичен синтаксис, но с малко разлики. Синтаксисът е следния:
- int[] someNumbers = new int[10];
- //Големината на масива може да не бъде константно число. Можем да кажем, че големината му ще е равна на променлива
- //която ще бъде въвеждана.
- Console.WriteLine("Lets fill the array.");
- for (int i = 0; i < someNumbers.Length; i++)
- {
- someNumbers[i] = int.Parse(Console.ReadLine());
- }
- //Масивите в C# имат полезни методи за работа с тях. За пример можем да вземем someNumbers.Length използвана по-горе
- //за взимане на дължината на масива дори и да не я знаем предварително. Ето и примери за други методи:
- Console.WriteLine("Sum = "+ someNumbers.Sum());
- Console.WriteLine("Min = "+ someNumbers.Min());
- Console.WriteLine("Max = " + someNumbers.Max());
- Console.WriteLine("First = "+ someNumbers.First());
- Console.WriteLine("Last = "+ someNumbers.Last());
- //Някои от методите няма да работят без добавянето на System.Linq
- //Други методи: Reverse() - обръща подредбата на членовете на масива
- //Синтаксис на двумерни масиви:
- //int[,] dualArray = new int[height, width];
- //height и width са параметрите на масива. Могат да бъдат отново числа или променливи, но трябва да са цели числа.
- //List е клас познат от C++. Нуждае се System.Collections.Generic. На практика листа е преоразмеряващ се масив.
- //Синтаксис:
- List<string> names = new List<string>() { "Ivan", "Kiro", "Pesho", "Maria", "Katya" };
- names.Add("Stamat"); //Добавя име на края на списъка.
- names.RemoveAt(0); //Премахва име на зададена позиция.
- names.Insert(3, "Stavri"); //Добавя име на дадена позиция като избутва позициите на тези след него.
- names[1] = "Misho"; //Прави същото като Insert, но с различен синтаксис.
- foreach (var name in names)
- {
- Console.WriteLine(name);
- }
- //Associative arrays или асоциативни масиви, са масиви които имат индекси на позициите си различни от
- //стандартните (0,1,2,3, ...). Нуждае се от System.Collections.Generic. Синтаксис:
- Dictionary<string,int> intNumbers=new Dictionary<string,int>();
- intNumbers["One"] = 1;//По този начин се добавят нови елементи.
- intNumbers["Two"] = 2;
- intNumbers["Three"] = 3;
- intNumbers["Four"] = 4;
- intNumbers["Five"] = 5;
- intNumbers["Six"] = 6;
- intNumbers.Remove("Three"); //Премахва елемент.
- foreach (var pair in intNumbers)
- {
- Console.WriteLine("{0} - {1}", pair.Key, pair.Value ); //С .key се достъпва името на елемента,
- //а с .value се достъпва стойността която съдържа елемента.
- }
- //Class String също има много и удобни методи.
- string str = "SoftUni";
- Console.WriteLine(str);
- for (int i = 0; i < str.Length; i++) //Length за дължината на string-а
- {
- Console.WriteLine("str[{0}] = {1}", i, str[i]);//Всяка буква от него може да бъде достъпвана като масив.
- }
- Console.WriteLine(str.Substring(4,2));
- //Изкарва substring започващ от първият аргумент в скобите (4) и с дължина равна на вторият елемент в скобите (2).
- Console.WriteLine(str.Replace("Soft","Hard"));
- //Замества substring-а посочен като първи аргумент на Replace със substring посочен като втори аргумент.
- Console.WriteLine(str.ToLower()); //Прави всички букви малки.
- Console.WriteLine(str.ToUpper()); //Прави всички букви главни.
- //Не включвам класовете в това резюме тъй като са обяснени много набързо, неясно и неточно, освен това информацията до тук
- //е достатъчна за изпита и без класовете. Така или иначе ще бъдат разглеждани подробно по време на следващият C# курс.
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement