C# 简介 - 交互式教程

本教程以交互方式讲解 C# ,使用浏览器编写 C# 并查看编译和运行代码的结果。 它包含以“Hello World”程序开头的一系列课程。 这些课程介绍了 C# 语言的基础知识。

小窍门

当代码片段块包含“运行”按钮时,该按钮将打开交互式窗口,或替换交互式窗口中的现有代码。 当代码片段不包含“运行”按钮时,可以复制代码并将其添加到当前交互式窗口。

运行第一个程序

在交互式窗口中运行以下代码。

Console.WriteLine("Hello, World!");

祝贺! 运行了第一个 C# 程序。 这是一个简单的程序,用于打印消息“Hello World!”它使用 Console.WriteLine 该方法打印该消息。 Console 是表示控制台窗口的类型。 WriteLineConsole 类型中的一种方法,该方法将文本行打印到文本控制台。

让我们继续前进,探索更多。 本课程的其余部分将探讨如何使用类型 string ,该类型表示 C# 中的文本。 与类型 Console 一样,该 string 类型具有方法。 这些 string 方法适用于文本。

声明和使用变量

你的第一个程序在屏幕上打印了 string “Hello World!” 。

小窍门

在探索 C#(或任何编程语言)的过程中,可能会在编写代码时犯错。 编译器会找到这些错误并将其报告给你。 当输出包含错误消息时,请仔细查看示例代码,以及交互式窗口中的代码以查看要修复的内容。 该练习有助于学习 C# 代码的结构。

你的第一个程序仅限于打印一条消息。 可以使用 变量编写更有用的程序。 变量是可用于运行具有不同值的相同代码的符号。 我们来试一试! 从以下代码开始:

string aFriend = "Bill";
Console.WriteLine(aFriend);

第一行声明变量, aFriend并为其赋值“Bill”。 第二行打印名称。

可以将不同的值分配给声明的任何变量。 你可以将这个名称改成你一个朋友的名字。 在前面交互式窗口中添加这两行,紧跟已添加的代码。 请确保保留变量及其初始赋值声明 aFriend

重要

请勿删除 aFriend的声明。 在前面的交互式窗口末尾添加以下代码:

aFriend = "Maira";
Console.WriteLine(aFriend);

请注意,同一行代码根据变量中 aFriend 存储的值打印两条不同的消息。

你可能会注意到最后两条消息中缺少“Hello”一词。 现在我们来解决此问题。 修改打印消息的代码行如下:

Console.WriteLine("Hello " + aFriend);

再次选择 “运行” 以查看结果。

你一直在使用+将字符串从变量常量字符串构建出来。 有更好的方法。 可以在{}字符之间放置一个变量,以指示 C# 将该文本替换为变量的值。

此过程称为 字符串内插

如果在字符串的左引号前添加一个 $ ,则可以在大括号之间的字符串中包含变量,例如 aFriend。 试一试:

再次选择 “运行” 以查看结果。 消息应为“Hello Maira”,而不是“Hello {aFriend}”。

Console.WriteLine($"Hello {aFriend}");

使用字符串

上次编辑是对字符串用途的初探。 让我们来了解一下。

你可以在大括号之间使用多个变量,而不仅限于单个变量。 请尝试以下代码:

string firstFriend = "Maria";
string secondFriend = "Sage";
Console.WriteLine($"My friends are {firstFriend} and {secondFriend}");

字符串不仅仅是字母集合。 您可以使用 Length 来获取字符串的长度。 Length 是字符串 的属性 ,它返回该字符串中的字符数。 在交互式窗口底部添加以下代码:

Console.WriteLine($"The name {firstFriend} has {firstFriend.Length} letters.");
Console.WriteLine($"The name {secondFriend} has {secondFriend.Length} letters.");

小窍门

现在是自己探索的好时机。 你已了解到 Console.WriteLine() 会将文本输出到屏幕。 你了解了如何声明变量并连接字符串。 在交互式窗口中进行试验。 该窗口具有一个名为 IntelliSense 的功能,可以为您提供关于可以执行的事情的建议。 在firstFriend中的d之后键入一个.。 可以看到可用于的属性和方法的建议列表。

一直在使用方法Console.WriteLine 打印消息。 方法是执行某些动作的代码块。 它有一个名称,因此你可以访问它。

Trim

假设您的字符串中有您不想显示的前导或尾随空格。 你想要 去除 字符串两端的空格。 该Trim方法与相关方法TrimStartTrimEnd一起负责完成该任务。 只需使用这些方法即可删除前导空格和尾随空格。 请尝试以下代码:

string greeting = "      Hello World!       ";
Console.WriteLine($"[{greeting}]");

string trimmedGreeting = greeting.TrimStart();
Console.WriteLine($"[{trimmedGreeting}]");

trimmedGreeting = greeting.TrimEnd();
Console.WriteLine($"[{trimmedGreeting}]");

trimmedGreeting = greeting.Trim();
Console.WriteLine($"[{trimmedGreeting}]");

方括号[]帮助可视化TrimTrimStart,TrimEnd方法的功能。 括号显示空格开始和结束的位置。

此示例强化了使用字符串的几个重要概念。 处理字符串的方法返回新的字符串对象,而不是在原地进行修改。 可以看到,每次调用任何 Trim 方法都会返回一个新字符串,但不会更改原始消息。

还有其他方法可用于处理字符串。 例如,你可能以前在编辑器或字处理器中使用了搜索和替换命令。 该方法 Replace 在字符串中执行类似操作。 它搜索子字符串并将其替换为不同的文本。 该方法 Replace 采用两 个参数。 这些参数是括号之间的字符串。 第一个字符串是要搜索的文本。 第二个字符串是用于替换的文本。 试试吧。 添加此代码。 当你在 sayHello 变量后面开始键入 .Re 时,键入它以查看提示:

string sayHello = "Hello World!";
Console.WriteLine(sayHello);
sayHello = sayHello.Replace("Hello", "Greetings");
Console.WriteLine(sayHello);

另外两种有效的方法可以将字符串转换为全部大写格式或全部小写格式。 请尝试以下代码。 在你开始键入 To 时,键入它以查看 IntelliSense 如何提供提示:

Console.WriteLine(sayHello.ToUpper());
Console.WriteLine(sayHello.ToLower());

搜索字符串

搜索和替换作的另一部分是查找字符串中的文本。 可以使用该方法 Contains 进行搜索。 它会告诉你一个字符串是否包含某个子字符串。 请尝试以下代码来浏览 Contains

string songLyrics = "You say goodbye, and I say hello";
Console.WriteLine(songLyrics.Contains("goodbye"));
Console.WriteLine(songLyrics.Contains("greetings"));

该方法 Contains 返回一个 布尔 值,该值指示是否找到要搜索的字符串。 布尔值存储truefalse两种值。 当显示为文本输出时,它们将分别大写: TrueFalse。 后续的课程会讲解更多关于布尔值的内容。

挑战

有两种类似的方法, StartsWithEndsWith 还搜索字符串中的子字符串。 这些方法在字符串的开头或末尾查找子字符串。 尝试修改上一个示例以使用 StartsWithEndsWith 而不是 Contains。 搜索字符串开头是否有“You”或“goodbye”。 在字符串末尾搜索“hello”或“goodbye”。

注释

在测试字符串末尾的文本时,请注意标点符号。 如果字符串以句点结尾,必须检查是否有以句点结尾的字符串。

你应该对于以"You"开始并以"hello"结尾的情况使用true,而对于以“再见”开始或结尾的情况使用false

你是否想出了如下所示的内容(展开以查看答案):

string songLyrics = "You say goodbye, and I say hello";
Console.WriteLine(songLyrics.StartsWith("You"));
Console.WriteLine(songLyrics.StartsWith("goodbye"));

Console.WriteLine(songLyrics.EndsWith("hello"));
Console.WriteLine(songLyrics.EndsWith("goodbye"));

你已完成 C# 教程中的“Hello C#”入门篇。 可以选择 C# 中的数字 教程以开始下一个交互式教程,也可以访问 .NET 站点以下载 .NET SDK、在计算机上创建项目以及继续编码。 “后续步骤”部分将引导您返回这些教程。

若要阅读更多关于string 类型的信息,请参阅: