{"id":16133650,"url":"https://github.com/gabboraron/csharp_alapok","last_synced_at":"2025-06-17T06:06:50.569Z","repository":{"id":131753105,"uuid":"298840027","full_name":"gabboraron/CSharp_alapok","owner":"gabboraron","description":"C# és Visual Studio alapok, konzolos programok, példakódok a következő Udemy kurzusok alapján: https://www.udemy.com/course/c-csharp-basics-for-beginners-learn-csharp-fundamentals-by-coding/ és https://www.udemy.com/course/software-development-master-class-for-absolute-beginners-1/","archived":false,"fork":false,"pushed_at":"2020-10-16T22:01:10.000Z","size":2695,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T15:36:47.678Z","etag":null,"topics":["alapok","csharp","visual-studio","visual-studio-code"],"latest_commit_sha":null,"homepage":"https://www.udemy.com/course/software-development-master-class-for-absolute-beginners-1/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gabboraron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-26T15:10:53.000Z","updated_at":"2020-10-16T22:01:12.000Z","dependencies_parsed_at":"2023-06-05T21:30:32.742Z","dependency_job_id":null,"html_url":"https://github.com/gabboraron/CSharp_alapok","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gabboraron/CSharp_alapok","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabboraron%2FCSharp_alapok","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabboraron%2FCSharp_alapok/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabboraron%2FCSharp_alapok/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabboraron%2FCSharp_alapok/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabboraron","download_url":"https://codeload.github.com/gabboraron/CSharp_alapok/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabboraron%2FCSharp_alapok/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260301992,"owners_count":22988722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alapok","csharp","visual-studio","visual-studio-code"],"created_at":"2024-10-09T22:45:16.142Z","updated_at":"2025-06-17T06:06:50.547Z","avatar_url":"https://github.com/gabboraron.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# C# és Visual Studio alapok\n\u003e Könyv: [Reiter István C# programozás  lépésről lépésre](https://github.com/gabboraron/CSharp_alapok/blob/master/Cshprogramozas.pdf)\n\n\u003e - szemétgyűjtőt használ\n\u003e - A legtöbb objektum-hozzáférés csak biztonságos hivatkozásokon keresztül tehető meg, és az aritmetikai műveletek debug módban túlcsordulás szempontjából ellenőrzöttek.\n\u003e - a szemétgyűjtő szabadítja fel az objektumokat, mikor már nincs rájuk hivatkozás\n\u003e - destruktorok (`~`) elérhetőek. A megfelelően megírt `IDisposable` interfész (Disposable programozási minta), aminek a lefutását garantálja using blokk, együtt kikényszerítheti az azonnali felszabadítást az osztályon belüli natív erőforrások esetében. A nem natív erőforrások felszabadítását ebben az esetben is a szemétgyűjtő (Garbage Collector) végzi. A finalizerek szintén rendelkezésre állnak, de nem váltanak ki azonnali felszabadítást.\n\u003e - csak egyszeres öröklődést támogat, de egy osztály több interfészt is megvalósíthat\n\u003e - Az egyetlen implicit konverzió a biztonságos konverzió, úgy mint az egészek tágabb intervallumba konvertálása vagy a leszármazott osztályok alaposztályba konvertálása. Nincs implicit konverzió az egészek és a logikai típus (`boolean`) között, a felsorolás tagok és az egészek között. Nincsenek void mutatók (bár az Object osztályra mutató mutatók hasonlóak), valamint bármely, a felhasználó által definiált implicit konverziót explicit módon meg kell jelölni.\n\u003e - felsorolás adattagjai a saját névtérben\n\u003e - 2.0+ rendelkezik a generikus programozás néhány eszközével\n\u003e - alapértelmezett láthatósága `private`\n\u003e -  kód névterekbe van rendezve, mely a hasonló funkciót ellátó osztályokat fogja össze. Például `System.Drawing` a grafikai, `System.Collections` az adatstruktúra és `System.Windows.Forms` a Windows ablakos megjelenítéséért felelős funkciókat fogja össze.\n\u003e - sorok vége `;`\n\u003e - Namespaces are named using Pascal Case (also called `UpperCamelCase`)\n\u003e - If an assembly contains only one namespace, the assembly and the namespace should use the same name. Otherwise, assemblies should follow the normal Pascal Case format.\n\u003e - kivételek a `System.Exception` -ből származnak le\n\u003e - aming conventions combined.\n```C#\n    using System;\n     \n    namespace MyExampleNamespace\n    {\n        public class Customer : IDisposable\n        {\n            private string _customerName;\n            public string CustomerName \n            { \n                get \n                { \n                    return _customerName; \n                }\n                set\n                {\n                    _customerName = value;\n                    _lastUpdated = DateTime.Now;\n                }\n            }\n     \n            private DateTime _lastUpdated;\n     \n            public DateTime LastUpdated\n            {\n                get\n                {\n                    return _lastUpdated;\n                }\n                private set\n                {\n                    _lastUpdated = value;\n                }\n            }\n     \n            public void UpdateCustomer(string newName)\n            {\n                if (!newName.Equals(CustomerName))\n                {\n                    CustomerName = newName;\n                }\n            }\n     \n            public void Dispose()\n            {\n                //Do nothing\n            }\n        }\n    }\n```\n\n**Tartalom**\n- [Visual Studio](https://github.com/gabboraron/CSharp_alapok#visual-studio)\n- [Alap adattípusok](https://github.com/gabboraron/CSharp_alapok#alap-adatt%C3%ADpusok)\n- [`Hello World` program](https://github.com/gabboraron/CSharp_alapok#hello-world)\n- [I/O alapok](https://github.com/gabboraron/CSharp_alapok#io-alapok)\n- [Számok](https://github.com/gabboraron/CSharp_alapok#sz%C3%A1mok)\n- [Szövegek](https://github.com/gabboraron/CSharp_alapok#sz%C3%B6vegek)\n  - [Szöveges argumentumok](https://github.com/gabboraron/CSharp_alapok#sz%C3%B6veges-argumentumok)\n- [Logikai változók és összehasonlítások](https://github.com/gabboraron/CSharp_alapok#logikai-v%C3%A1ltoz%C3%B3k-%C3%A9s-%C3%B6sszehasonl%C3%ADt%C3%A1sok)\n- [Típuskonverzió](https://github.com/gabboraron/CSharp_alapok#t%C3%ADpuskonverzi%C3%B3-%C3%A9s-t%C3%ADpusk%C3%A9nyszer%C3%ADt%C3%A9s)\n- [pointerek, mutatók](https://github.com/gabboraron/CSharp_alapok#pointerek-%C3%A9s-mutat%C3%B3k)\n- [Tömbök, sorok](https://github.com/gabboraron/CSharp_alapok#t%C3%B6mb%C3%B6k-sorok)\n- [`if` `then` `else`](https://github.com/gabboraron/CSharp_alapok#if-then-else)\n- [`switch`-`case`](https://github.com/gabboraron/CSharp_alapok#switch-case)\n- [Cilusok](https://github.com/gabboraron/CSharp_alapok#ciklusok)\n  - [`For`](https://github.com/gabboraron/CSharp_alapok#for)\n  - [`While`](https://github.com/gabboraron/CSharp_alapok#while)\n  - [do-while](https://github.com/gabboraron/CSharp_alapok#do-while)\n- [y = x^2 grafikonja](https://github.com/gabboraron/CSharp_alapok#y--x2-grafikonja)  \n- [Példaprogram](https://github.com/gabboraron/CSharp_alapok#p%C3%A9ldaprogram) \n- [Egyéb hasznos C# parancsok](https://github.com/gabboraron/CSharp_alapok#egy%C3%A9b-hasznos-c-parancsok)\n- [GUI programozás](https://github.com/gabboraron/CSharp_alapok/blob/master/README.md#gui-programok)\n\n## Visual Studio\n1. [Letöltés és telepítés](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community\u0026rel=16)\n2. Szükséges telepítendő csomag(ok): `.NET desktop development` és `Universal Windows Platform Development`\n3. `Create New Project` \u003e  `Console App (.NET Core)`\n4. Sor sorszámozás bekapcsolása: https://docs.microsoft.com/en-us/visualstudio/ide/reference/how-to-display-line-numbers-in-the-editor?view=vs-2019\n\n-----\n## Alap adattípusok\n- `Integer`\n  - `Byte` \n  - `Short` \n  - `Int`\n  - `Long`\n- `Floating point`\n  - `Float`\n  - `Double`\n- `boolean`\n- `Classes`\n- `Interfaces`\n- `Arrays`\n- `Strings`\nbővebben: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/integral-numeric-types\n\n## `Hello World!`\nfájl: [Hello World.sln](https://github.com/gabboraron/CSharp_alapok/blob/3c1c9d903cdaf32805564a8f5751d21a8850a3be/Hello%20World.sln), [Hello World](https://github.com/gabboraron/CSharp_alapok/tree/3c1c9d903cdaf32805564a8f5751d21a8850a3be/Hello%20World)\n```C#\nusing System;\n\nnamespace Hello_World\n{\n\tclass Program\n\t{\n\t\tstatic void Main(string[] args)\n\t\t{\n\t\t\tConsole.WriteLine(\"Hello World!\");\n\t\t}\n\t}\n}\n```\n\n## I/O alapok\nfájl: [ConsoleBasedIO](https://github.com/gabboraron/CSharp_alapok/tree/master/ConsoleBasedIO)\n```C#\nusing System;\n\nnamespace ConsoleBasedIO\n{\n    class Program\n    {\n        static void Main(string[] args)\n        {\n            Console.Write(\"What  is your name? \");\n            var name = Console.ReadLine();\n            Console.WriteLine($\"Hello {name}, nice name!\");                           //fontos, hogy \" és nem '\n            Console.Write($\"so, hey {name}, What would you like to order today? \");   //változóval kiíratás\n            var order = Console.ReadLine();\n            Console.Write($\"Well, this {order} sounds delicious!\\nThis will be \");\n            Console.BackgroundColor = ConsoleColor.Blue;                              //sor háttérszínének megváltoztatása, bővebben: https://www.dotnetperls.com/console-color\n            Console.WriteLine(\"$5.6\");\n            Console.BackgroundColor = ConsoleColor.Black;                             //sor háttérszínének megváltoztatása\n        }\n    }\n}\n```\n\n## Számok\n\u003e A `változónév++` és `++változónév` közti különbség az, hogy előbbi visszadja előbb a változó eredeti értékét, majd megnöveli az értéket, utóbbi viszont előbb növel, aztán adja vissza az értéket.\n\nfájl: [ProgramVariableNumbers](https://github.com/gabboraron/CSharp_alapok/tree/master/ProgramVariableNumbers)\n```C#\n            int number = 53;\n            int aNumber;\n            var someNumber = 33;\n\n            Console.Write(\"Enter a number: \");\n            aNumber = Convert.ToInt32(Console.ReadLine());\n            Console.WriteLine($\"Number 1: {number}, A number: {aNumber}, Some Number: {someNumber}\");\n\n            double doubleValue = 44.5;\n            var anotherDouble = 54.66;\n\n            Console.Write(\"Enter a decimal number: \");\n            double enteredNumber = Convert.ToDouble(Console.ReadLine());\n            Console.WriteLine($\"Double1: {doubleValue}, Another: {anotherDouble}, Entered: {enteredNumber}\");\n\n            int counter = 0;\n            for (int i = 0; i \u003c 15; i++)\n            {\n                counter++;\n                Console.WriteLine($\"Counter is: {counter}\");\n            }\n\n            Console.WriteLine(\" \");\n            for (int i = 0; i \u003c 15; i++)\n            {\n                counter--;\n                Console.WriteLine($\"Counter is: {counter}\");\n            }\n\n            var answer = aNumber + number / 122 * doubleValue - anotherDouble;\n            Console.WriteLine($\"Aswer: {answer} :) \");\n```\n\n## Szövegek\n\u003e A karakterek sázmok amik szöveggé alakíthatóak, ha összefűzünk karaktereket akkor a végeredmény alapértelmezetten lehet szám **!**\n\nfájl: [programVariableStrings](https://github.com/gabboraron/CSharp_alapok/tree/master/programVariableStrings)\n```C#\n            string aString = \"Hello\";\n            string anotherstring = \"XY\";\n            string theString;\n            string bString = string.Empty;\n            var varString = \"one more\";\n\n            Console.Write(\"Enter a string: \");\n            theString = Console.ReadLine();\n\n            Console.WriteLine($\"Astring: {aString}, another: {anotherstring}, theString: {theString}\");\n            Console.WriteLine($\"Astring: {aString.Length}, another: {anotherstring.Length}, theString: {theString.Length}\");\n\n            string concat = aString + \" \" +  anotherstring;\n            Console.WriteLine($\"concat: {concat}\");\n            Console.WriteLine(\"concat: \"+ concat);\n\n            char aChar = 'A';\n            char bChar = 'B';\n            char cChar = 'C';\n            char dChar;\n\n            Console.WriteLine($\"{aChar}|{bChar}|{cChar}\");\n            string ABC = aChar.ToString() + bChar.ToString() + cChar.ToString();\n            Console.WriteLine(ABC);\n\n            Console.Write(\"Pls enter 4 chars: \");\n            aChar = Convert.ToChar(Console.Read());\n            bChar = Convert.ToChar(Console.Read());\n            cChar = Convert.ToChar(Console.Read());\n            dChar = Convert.ToChar(Console.Read());\n            Console.ReadLine();\n\n            Console.WriteLine($\"{aChar},{bChar},{cChar},{dChar}\");\n```\n### Szöveges argumentumok\n```C#\nstatic void Main(string[] args)\n{\n}\n```\nA függvényenk átadható szöveges argumentumok.\nA `Console.Writeline(args[0])` használatához a menüsorból: `build` -\u003e `build solution`(F6) -\u003e  `project` click -\u003e `open folder in file explorer` -\u003e `project név` -\u003e `build` -\u003e `debug` -\u003e `valami.exe` futtatása parancssorból és név után argumentum megadása, pl: `C:\\User\\valami\\programnev.exe almafa` \n\n## Logikai változók és összehasonlítások\n- `\u003e`,`\u003c`,`\u003e=`,`\u003c=`,`==`,`!=`\n- `\u0026\u0026`, `||`, `^=`,`\u0026=`\nfájl: [variableBooleanAndCompare](https://github.com/gabboraron/CSharp_alapok/tree/master/variableBooleanAndCompare)\n```C#\n            bool TrueValue = true;\n            bool falseValue = false;\n\n            Console.WriteLine($\"true: {TrueValue}; false: {falseValue}\");\n\n            int a = 5, b = 6, c = 7, d = 9;\n\n            TrueValue = a \u003c b;\n            falseValue = b \u003e c;\n\n            bool compareValue1 = TrueValue || falseValue; // || az or\n            bool compareValue2 = TrueValue \u0026\u0026 !falseValue; // \u0026\u0026 az and\n\n            Console.WriteLine($\"compareValue1: {compareValue1}; compareValue2: {compareValue2}\");\n\n            bool compareValue = a == b;\n            Console.WriteLine(compareValue);\n            compareValue = a != b;\n            Console.WriteLine(compareValue);\n```\n\n## Típuskonverzió és típuskényszerítés\n```C#\nint age = 100;\nstring name = \"Béla\"\nage.ToString();\n```\nEhez hasonlóan az `int`, `float`, `double`, `bool` típusokat is át lehet konvertálni `változónév.ToString();` használatával, vagy a `ToString()` függvénynek argumentumként átadva, pl: `ToString(7.0002);`. Ehhez hasonlóan léteznek a `Convert.ToInt();`, `Convert.ToDouble();` és hasonló függvények is.\n\nUgyanakkor a Javahoz megszokottként lehet típuskényszerítést használni: \n```C#\ndouble y = 55.089;\nint z = (int) y;\n```\n\n## Pointerek és mutatók\n- `sizeof()` - az adattípus méretét adja vissza\n- `typeof()` - az osztály típusát adja vissza\n- `\u0026` - változó címre hivatkozás, pl: `\u0026a;`\n- `*` - mutató a változóra, pl `*a;` egy mutatót hoz létre `a`-ra\n\n## Tömbök, sorok\nEgy üres `int` tömb definiálása, ahol `array` a tömb neve:\n```C#\nint[] array;\n```\n\nEgy 100 méretű `int` tömb definiálása, ahol `array` a tömb neve:\n```C#\nint[100] array;\n```\n\nmásik módszer: \n```C#\npublic string[] Flavors = {\"Vanilla\", \"Oreo\", \"AmeriShop Dream\", \"French Vanilla\", \"Mint\", \"Better Batter\", \"Rocky Road\", \"Mint Chocolate Chip\", \"Coffee\", \"Phish Food\", \"New York Super Fudge Chunk\" };\n```\nUgyanakkor a rendezés sem nehéz\n```C#\n    Array.Sort(Flavors);\n    Utility.AllValues(Flavors);\n    \n    //////\n    \npublic static void AllValues(String[] _array)\n{\n    for (int i = _array.GetLowerBound(0); i \u003c= _array.GetUpperBound(0); i++)\n    {\n        //space adds padding on the left side\n\tConsole.WriteLine(space + _array[i]);\n    }\n    Console.WriteLine();\n```\nKeresés: `Utility.Search(ARRAY, SEARCHTERM)`\n```C#\n    public static bool Search(string[] _array, string _string)\n    {\n        bool result = false;\n        int i = 0;\n        foreach (string s in _array)\n        {\n    \t_array[i] = s.ToLower();\n    \ti++;\n        }\n     \n        if (Array.Find(_array, element =\u003e element == _string) == _string)\n        {\n    \tresult = true;\n        }\n        else\n        {\n    \tresult = false;\n        }\n        return result;\n    }   \n```\n\n## Futtatási egységek:\n```C#\n{\n// ami a zárójelek között van :)\n// egy namspacen belül\n}\n```\nEzeken belül használhatóak:\n- `break` - kilép az aktuális futtatási egységből\n- `continue` - kihagyja a hátralevő logikai részeket és a futtatási egység végére lép, csak ciklusokban használható, de azokon belül hasznos\n- `goto` ugrik a jelzett sorhoz \u003c- FUCK YOU OBJEKTUMORIENTÁLTSÁG\n- `return` - visszatéréési érték\n- `throw` - kivételdobás\n\n## `if` `then` `else`\nfájl: [payCheck](https://github.com/gabboraron/CSharp_alapok/tree/master/payCheck)\n\n\u003e gyors `if` értékadás: `?:` használata: `if feltétel_igaz ? akkor_igaz_érték : egyébként_egyébérték`\n\u003e\n\u003e `is` ha egy iobjektum bizonyos típusú, pl: `if(ford is Car)\n```C#\n            if (double.TryParse(Console.ReadLine(), out hoursWorked))\n            {\n                if (hoursWorked \u003e 0)\n                {\n                    //calc payment\n                    if (hoursWorked \u003e 40)\n                    {\n                        //calc overtime\n                        double payAmount = hoursWorked * payRate + (hoursWorked - 40) * payRate * 1.5;\n                        Console.WriteLine(\"Your payment is: \" + payAmount);\n                    }\n                    else\n                    {\n                        double payAmount = hoursWorked * payRate;\n                        Console.WriteLine(\"Your payment is: \" + payAmount);\n                    }\n                }\n                else\n                {\n                    Console.WriteLine(\"No work = no money\");\n                }\n            }\n            else\n            {\n                Console.WriteLine(\"BAD DATA FORMAT!\");\n            }\n```\n\n## `switch`-`case`\nbővebben: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/switch\n```C#\n      int caseSwitch = 1;\n\n      switch (caseSwitch)\n      {\n          case 1:\n              Console.WriteLine(\"Case 1\");\n              break;\n          case 2:\n              Console.WriteLine(\"Case 2\");\n              break;\n          default:\n              Console.WriteLine(\"Default case\");\n              break;\n      }\n```\n\nmásik példa:\n```C#\n\t    char ch;\n            Console.WriteLine(\"Enter a Character\");\n            ch = Convert.ToChar(Console.ReadLine());\n \n            switch (Char.ToLower(ch))\n            {\n                case 'a':\n                    Console.WriteLine(\"Vowel\");\n                    break;\n                case 'i':\n                    Console.WriteLine(\"Vowel\");\n                    break;\n                case 'o':\n                    Console.WriteLine(\"Vowel\");\n                    break;\n                case 'u':\n                    Console.WriteLine(\"Vowel\");\n                    break;\n                case 'e':\n                    Console.WriteLine(\"Vowel\");\n                    break;\n                default:\n                    Console.WriteLine(\"Not Vowel\");\n                    break;\n            }\n```\n\n## Ciklusok\nfájl:[looping](https://github.com/gabboraron/CSharp_alapok/tree/master/looping)\n### For\n```C#\n            for (int i = 0; i \u003c length; i++)\n            {\n                Console.Write(\" :) \");\n            }\n```\n### While\nha a felététel igaz akkor teljesül, elöl tesztel\n```C#\n            while (length \u003e 0)\n            {\n                Console.Write(\" :( \");\n                length--;\n            }\n```\n```C#\n            int i = 5;\n            while (i\u003c4)\n            {\n                Console.WriteLine(\"This is while loop \");\n                \n            }\n```\n### do-While\nhátul tesztel, ha a feltétel igaz akkor folytatja az ismétlést\n```C#\n            do\n            {\n                Console.Write(\" :/ \");\n                length++;\n            } while (length\u003c5);\n```\n```C#\n            do {\n                Console.WriteLine(\"This is a do while loop \");\n            } while (i \u003c 4);\n```\n### y = x^2 grafikonja\n\u003e `-15` és `+15` között az x értéke a `y = x^2` egyenletre\n\u003e\n\u003e hogy beleférjen az ablakba lekicsinyítjük: `225 * x = 80` =\u003e `x = .3555`\n```C#\n            for (int i = -15; i \u003c= 15; i++)\n            {\n                var y = i * i * .3555;\n                for (int j = 0; j \u003c y; j++)\n                {\n                    Console.Write(\" \");\n                }\n                Console.WriteLine(\"*\");\n            }\n```\nkimenet: \n```\n                                                                      *\n                                                             *\n                                                    *\n                                            *\n                                    *\n                             *\n                       *\n                  *\n             *\n         *\n      *\n    *\n  *\n *\n*\n *\n  *\n    *\n      *\n         *\n             *\n                  *\n                       *\n                             *\n                                    *\n                                            *\n                                                    *\n                                                             *\n                                                                      *\n\n```\n\n## Példaprogramok\n### kiosk\nfájl: [kiosk](https://github.com/gabboraron/CSharp_alapok/tree/master/kiosk)\n\u003e Egy egyszerű programocska, választó menükkel, stb.\n\n### dátumkezelő\n```C#\n            DateTime MyAge;\n            Console.WriteLine(\"Enter Your Age\");\n            MyAge = Convert.ToDateTime(Console.ReadLine());\n            int years = Convert.ToInt32((DateTime.Now.Subtract(MyAge).TotalDays)) / 360;\n \n            Console.WriteLine(\"Your Age is \" + years + \"Years\");\n            Console.ReadKey();\n```\n\n## Egyéb hasznos C# parancsok\n- `Console.Readkey();` - vár egy billentyűá leütésre és azt adja vissza, hasznos lehet program végére is\n\n## GUI programok\n- egyszerű GUI példa: https://github.com/gabboraron/CSharp_alapok/tree/master/GUI-apps/first-v2/first-v2\n- egyszerű webes program példa: https://github.com/gabboraron/CSharp_alapok/tree/master/GUI-apps/first-v2/first_web_app/first_web_app\n- egy alap web böngésző Internet Explorer alapokon, `web_browser\\web_browser\\bin\\Debug\\web_browser.exe`-vel futtatható: https://github.com/gabboraron/CSharp_alapok/tree/master/GUI-apps/first-v2/web_browser\n- digitális óra: https://github.com/gabboraron/CSharp_alapok/tree/master/GUI-apps/first-v2/digitalClock\n- egy centiliter - liter konvertáló GUI alkalmazás: https://github.com/gabboraron/CSharp_alapok/tree/master/converter\n- számológép program: https://github.com/gabboraron/CSharp_alapok/tree/master/GUI-apps/first-v2/szamologep\n- matematikai műveletek végrehajtására program: https://github.com/gabboraron/CSharp_alapok/tree/master/GUI-apps/first-v2/szamologep%20-%20Copy\n- térkép: https://github.com/gabboraron/CSharp_alapok/tree/master/GUI-apps/first-v2/map\n- paint, fájlkezelés: https://github.com/gabboraron/CSharp_alapok/tree/master/GUI-apps/first-v2/paint\n- ping-pong, programozott kilépés: https://github.com/gabboraron/CSharp_alapok/tree/master/GUI-apps/first-v2/ping-pong\n- zenelejátszó, fájlkezelés, windows elemek kezelése: https://github.com/gabboraron/CSharp_alapok/tree/master/GUI-apps/first-v2/Zenelejatszo\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabboraron%2Fcsharp_alapok","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabboraron%2Fcsharp_alapok","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabboraron%2Fcsharp_alapok/lists"}