C语言和Visual Studio初学者简介

171 阅读8分钟

在本教程中,我们将开始研究C#编程语言。C#是一种流行的编程语言,可以用来为平板电脑、手机、网络服务器和台式机创建程序。C#的语法与Java、C++和JavaScript相似,是众多可用于.NET编程的语言之一。如果你准备学习C#编程,微软提供了他们强大的Visual Studio IDE的精彩社区版。在接下来的几个C#教程中,我们将使用Visual Studio社区


下载并安装Visual Studio社区

通过使用上面的链接,你可以安装Visual Studio Community。一旦安装完毕,最初的启动页面看起来像这样。
microsoft visual studio community start page


.NET框架

随着Visual Studio的安装,..NET框架也被安装了,因为它是Visual Studio安装的一部分。用Visual Studio在C#中编写应用程序时要利用.NET框架。.NET框架。这意味着应用程序可以利用该框架所提供的各种服务。这包括诸如将信息保存到数据库、从XML文件中读取信息,以及配置、网络操作和几乎每个应用程序都需要的所有基本核心功能。因此,C#可以用来构建商业应用、游戏、网络应用,以及在平板电脑或移动设备上运行的应用。.NET框架通过通用语言运行时框架类库来完成它的工作。


CLR负责管理你的应用程序

  • 内存管理
  • 操作系统和硬件的独立性
  • 语言的独立性

CLR and FCS for dot net


框架类库

  • 构建应用程序的功能库

microsoft framework class library


使用C#工作

C#是一种流行的语言,如果你熟悉C、C++、Java和JavaScript,就可以很好地使用。让我们使用Visual Studio来创建我们的第一个C#程序。C#是一种编译语言,所以为了真正看到你写的代码的结果,你需要先编译它。现在让我们看看如何在Visual Studio中创建一个超级简单的控制台应用程序。你可以选择文件->新建->项目->Visual C#->控制台应用程序(.NET框架)。
Microsoft Visual Studio Console Application

Visual Studio将为我们设置一些模板代码,看起来像这样。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WelcomeToCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}

Visual Studio中的解决方案资源管理器

一旦新项目被创建,我们也会看到解决方案资源管理器。解决方案资源管理器窗口组织了所有项目的代码以及其他项目。在下面的截图中,我们看到WelcomeToCSharp被突出显示,它代表了当前的项目。在该项目中,我们有三个文件夹。它们是 bin, obj,和 Properties.还有一个 **App.config**文件、一个 **Program.cs**文件,以及一个名为 "Visual C#项目文件 "的 WelcomeToCSharp.csproj.
Visual Studio Solution Explorer


C#中的命名空间

注意在Program.cs文件的顶部,有几行我们可能不熟悉的代码。

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

这些行是怎么回事呢?这些是Visual Studio默认包含的命名空间,因为它们是常用的命名空间。例如,如果我们要使用Tasks命名空间的东西,你可以看到*使用System.Threading.Tasks;*的那一行现在是黑色的,而其他的是浅灰色的,表明它们没有被使用。
csharp used and non-used namespaces

现在我们可以删除这些命名空间,这样我们的Program.cs就会变成这样。

namespace WelcomeToCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}

现在,我们正在利用我们自己的命名空间,也就是WelcomeToCSharp。所以这个类的 Program的类实际上是WelcomeToCSharp.Program的类。程序。让我们向控制台写点东西吧!

using System;

namespace WelcomeToCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome To C#!");
        }
    }
}

构建和运行你的C#应用程序

让我们把这个程序付诸行动。要看到我们的代码到目前为止的结果,我们可以点击调试,然后点击不调试开始

很好!我们得到了我们的第一个C#控制台应用程序的运行。Visual Studio自动编译了源代码,并在一个新的控制台窗口中启动了该程序。Visual Studio自动添加了 "按任何键继续 .... "的对话框,使控制台窗口消失。如果不提供这个,你会看到一个命令窗口在屏幕上闪现片刻,就这样了。该程序也可以通过输入可执行文件的名称WelcomeToCSharp.exe从命令行运行。

C:UsersusersourcereposWelcomeToCSharpWelcomeToCSharpbinDebug>WelcomeToCSharp.exe
Welcome To C#!

向我们的程序传递一个参数

为了使我们的第一个C#程序更加个性化,让我们增加对传递参数的支持。以下是我们如何做到这一点的。

using System;

namespace WelcomeToCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome To C#, " + args[0] + "!");
        }
    }
}

有了更新的源代码,我们就需要构建程序,以便更新项目的可执行文件。这可以通过点击Build->Build Solution或使用键盘快捷键Ctrl+Shift=B来完成。
visual studio build solution

现在,我们可以从命令行再次运行该程序,并像这样传入一个字符串参数。注意,在指定程序的名称时,你可以在运行时省略文件末尾的.exe。

C:UsersusersourcereposWelcomeToCSharpWelcomeToCSharpbinDebug>WelcomeToCSharp Tom
Welcome To C#, Tom!

为了搞笑,我们可以再次运行它并传入一个不同的字符串参数,只是为了看看它的运行情况。

C:UsersusersourcereposWelcomeToCSharpWelcomeToCSharpbinDebug>WelcomeToCSharp Friend
Welcome To C#, Friend!

防止运行时出错

我们已经让我们的程序接受了一个参数,这样它就可以显示一个自定义的信息。如果我们在运行程序时没有传递这个参数,会发生什么?嗯,让我们看看。

C:UsersusersourcereposWelcomeToCSharpWelcomeToCSharpbinDebug>WelcomeToCSharp

Unhandled Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at WelcomeToCSharp.Program.Main(String[] args) in C:UsersusersourcereposWelcomeToCSharpWelcomeToCSharpProgram.cs:line 9

windows checking for solution to problem

哎哟。我们会得到一个讨厌的错误信息,而且程序会崩溃。我们可以修改程序,这样,如果在运行时没有提供参数,我们就不会得到Index超出数组范围的错误信息。下面是更新后的代码。

using System;

namespace WelcomeToCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Welcome To C#, Friend!");
            }
            else
            {
                Console.WriteLine("Welcome To C#, " + args[0] + "!");
            }
        }
    }
}

现在,当我们运行该程序时,如果我们不提供参数,它就不会崩溃。下面我们在没有参数的情况下运行一次程序,然后在有参数的情况下再运行一次。该程序现在有一个简单的if/else语句形式的逻辑,这样它就可以根据传递给它的内容而有不同的行为。

C:UsersusersourcereposWelcomeToCSharpWelcomeToCSharpbinDebug>WelcomeToCSharp
Welcome To C#, Friend!

C:UsersusersourcereposWelcomeToCSharpWelcomeToCSharpbinDebug>WelcomeToCSharp Partner
Welcome To C#, Partner!

使用Console.ReadLine

我们可以对程序采取的另一种方法是在程序运行时向用户提示信息。我们可以用Console.ReadLine 方法做到这一点。

using System;

namespace WelcomeToCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hi there, what's your name?");
            string somedata = Console.ReadLine();
            Console.WriteLine("Welcome To C#, " + somedata + "!");
        }
    }
}

现在当程序运行时,我们被提示输入一些数据。在我们这样做之前,程序不会向前推进。

现在,我们可以在提示时输入一个名字,程序会做出相应的反应。

让我们把这个想法再进一步。现在,我们想问用户他们今天是否吃了早餐。根据他们是否吃了,我们就会知道他们是否准备好学习一些关于C#和Visual Studio的好东西。我们修改后的代码现在看起来是这样的。

using System;

namespace WelcomeToCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hi there, what's your name?");
            string somedata = Console.ReadLine();

            Console.WriteLine("Did you eat breakfast today? Y or N");
            string yesOrNo = Console.ReadLine();
            Console.WriteLine("Welcome To C#, " + somedata + "!");

            if (yesOrNo == "Y")
            {
                Console.WriteLine("Glad to see you're ready to learn!");
            }
            else
            {
                Console.WriteLine("You better get some food!");
            }
        }
    }
}

在两个用户Tom和Jared的情况下运行程序,我们可以看到其中一个已经吃了早餐,准备学习。另一个人则是空腹工作,需要在前进前补充能量。

C:UsersusersourcereposWelcomeToCSharpWelcomeToCSharpbinDebug>WelcomeToCSharp

Hi there, what's your name?
Tom
Did you eat breakfast today? Y or N
Y
Welcome To C#, Tom!
Glad to see you're ready to learn!

C:UsersusersourcereposWelcomeToCSharpWelcomeToCSharpbinDebug>WelcomeToCSharp

Hi there, what's your name?
Jared
Did you eat breakfast today? Y or N
N
Welcome To C#, Jared!
You better get some food!

C#和Visual Studio初学者介绍摘要

在本教程中,我们了解了Visual Studio的社区版,并通过建立一个非常简单的程序将其投入工作。这并不是什么不可思议的事情,但它让我们了解了C#是如何在Visual Studio中工作的。你也可以很容易地利用其他IDE程序,但对于微软的语言来说,Visual Studio是难以超越的。即使这个简单的程序也向我们介绍了一些重要的概念,如类型、、变量和简单表达式。这只足以让我们熟悉Visual Studio的工作流程。一些需要记住的关键点。

  • C#是一种用于.NET的强类型化和大小写敏感的语言
  • C#中的每个对象都有一个特定的类型
  • 你可以写一个类来定义一个类型
  • .NET框架中内置了数以千计的类型
  • 要执行的代码必须存在于一个类型中
  • 你可以定义自定义类型
  • Visual Studio是一个IDE,用于处理所有类型的C#应用程序。