diff options
Diffstat (limited to 'csharp.html.markdown')
-rw-r--r-- | csharp.html.markdown | 51 |
1 files changed, 39 insertions, 12 deletions
diff --git a/csharp.html.markdown b/csharp.html.markdown index b965c2d4..c85acb1b 100644 --- a/csharp.html.markdown +++ b/csharp.html.markdown @@ -12,9 +12,9 @@ contributors: filename: LearnCSharp.cs --- -C# is an elegant and type-safe object-oriented language that enables developers to build a variety of secure and robust applications that run on the .NET Framework. +C# is an elegant and type-safe object-oriented language that enables developers to build a variety of secure and robust applications that run on the cross-platform .NET framework. -[Read more here.](https://docs.microsoft.com/dotnet/csharp/getting-started/introduction-to-the-csharp-language-and-the-net-framework) +[Read more here.](https://docs.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/) ```c# // Single-line comments start with // @@ -29,7 +29,7 @@ Multi-line comments look like this /// </summary> /// <param name="firstParam">This is some parameter documentation for firstParam</param> /// <returns>Information on the returned value of a function</returns> -public void MethodOrClassOrOtherWithParsableHelp(string firstParam) {} +public void MethodOrClassOrOtherWithParsableHelp(string firstParam) { } // Specify the namespaces this source code will be using // The namespaces below are all part of the standard .NET Framework Class Library @@ -48,6 +48,10 @@ using System.Data.Entity; // Namespaces define scope to organize code into "packages" or "modules" // Using this code from another source file: using Learning.CSharp; + +// You can also do this in C# 10, it is called file-scoped namespaces. +// namespace Learning.CSharp; + namespace Learning.CSharp { // Each .cs file should at least contain a class with the same name as the file. @@ -341,8 +345,17 @@ on a new line! ""Wow!"", the masses cried"; // Convert Integer To String // Convert class has a number of methods to facilitate conversions + + // String to int + + // Better + bool result = int.TryParse(string, out var integer) + int.Parse(string); + + // Not recommended Convert.ToString(123); - // or + + // Int to string tryInt.ToString(); // Casting @@ -375,6 +388,9 @@ on a new line! ""Wow!"", the masses cried"; Console.Read(); } // End main method + // Available in C# 9 and later, this is basically a syntactic sugar for a class. Records are immutable*. + public record ARecord(string Csharp); + // CONSOLE ENTRY - A console application must have a main method as an entry point public static void Main(string[] args) { @@ -744,7 +760,7 @@ on a new line! ""Wow!"", the masses cried"; Gitane // 43 } // We defined this type inside a Bicycle class, so it is a nested type - // Code outside of this class should reference this type as Bicycle.Brand + // Code outside of this class should reference this type as Bicycle.BikeBrand public BikeBrand Brand; // After declaring an enum type, we can declare the field of this type @@ -1299,16 +1315,27 @@ namespace Csharp7 ``` ## Topics Not Covered +✨ New, 👍 Old, 🎈 LTS, 🔥 Cross-platform, 🎁 Windows-only * Attributes - * async/await + + * Asynchronous Programming + * Web Development - * ASP.NET MVC & WebApi (new) - * ASP.NET Web Forms (old) - * WebMatrix (tool) + * ASP.NET Core ✨ + * Desktop Development - * Windows Presentation Foundation (WPF) (new) - * Winforms (old) + * Windows Presentation Foundation 👍 🎈 🎁 + * Universal Windows Platform ✨ 🎁 + * Uno Platform 🔥 ✨ + * WinForms 👍 🎈 🎁 + * Avalonia 🔥 ✨ + * WinUI ✨ 🎁 + +* Cross-platform Development + * Xamarin.Forms 👍 + * MAUI ✨ + ## Further Reading @@ -1321,4 +1348,4 @@ namespace Csharp7 * [LINQ Pocket Reference](http://shop.oreilly.com/product/9780596519254.do) * [Windows Forms Programming in C#](http://www.amazon.com/Windows-Forms-Programming-Chris-Sells/dp/0321116208) * [freeCodeCamp - C# Tutorial for Beginners](https://www.youtube.com/watch?v=GhQdlIFylQ8) -
\ No newline at end of file + |