C# and Visual Studio Community edition

  • if you seriously read this, you probably are free to use Visual Studio Community edition to create any app you like; and mostly probably you will start learning C# (csharp as cs) to create app in it. (it only require you to get the paid professional version once you become big software company, more like feed you up with MS stuffs and you kinda too sticky with it to leave it again)
  • About Visual Studio Community edition, you can download free in this link (4GB download, and take 40GB after install)
  • About C# in visual studio to create apps, technically, you can use C#, VB, C++, F#, Javascript, Python to create apps inside, but most likely, if you plan to use visual studio a lot, C# is the choice to go, since rest language support are mainly to help attracting other developers to use Microsoft visual studio and stick with it.

Get Started in Visual Studio with C#

  • after build your first simple desktop app, you most likely want to change the default app publish info in “AssemblyInfo.cs” (under your top app name in Solution Explorer > Properties > AssemblyInfo.cs), like your app name, company info, copyright info
  • inside the build folder:
    • exe - the 'normal' executable
    • .vshost.exe - a special version of the executable to aid debuging for run app inside visual studio
    • .pdb - the Program Data Base with debug symbols
    • .vshost.exe.manifest - a kind of configuration file containing mostly dependencies on libraries

.NET framework install requirement for your C# app

  • since you build your app with C# using .NET framework in visual studio, end user need to have .NET framework installed to be able to use the app, just like people need to have Java Virtual Machine installed for Java written apps.

develop app without using .NET framework

  • as C# is designed by MS to create app with .NET framework, so it make sense to use C# with .NET to create multi-platform apps in the designed workflow
  • For create app without using .NET frame, better creating GUIs in regular C++, Microsoft offers the bare Windows API, MFC, WTL and there are 3rd party products, like Qt or wxWidgets

My Test Code

test.cs
using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
 
namespace TestRun
{
    class MainApp
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hellow World.");
            string reply = Console.ReadLine();
            if (reply != ""){
                Console.WriteLine("Got it:" + reply);
            }
            else{
                Console.WriteLine("nothing");
            }
            int num1 = int.Parse(Console.ReadLine());
            int num2 = int.Parse(Console.ReadLine());
            Console.WriteLine(num1+num2);
            Console.WriteLine(mult(num1,num2));
            reply = Console.ReadLine();
        }
 
        public static float mult(float n1, float n2)
        {
            float result = n1 * n2;
            return result;
        }
    }
}