Hello World - 交互式入门教程
本教程通过交互方式介绍了 C#,读者可以使用浏览器编写 C#,并查看代码编译和运行结果。 具体包含一系列课程,最先介绍的就是“Hello World”程序。 这些课程介绍了 C# 语言的基础知识。
提示
若要在焦点模式下粘贴代码片段,应使用键盘快捷方式(Ctrl + v 或 cmd + v)。
运行首个程序
在交互式窗口中,运行以下代码。 选择“进入焦点模式”按钮。 然后,在交互式窗口中键入以下代码块,并选择“运行”:
Console.WriteLine("Hello World!");
祝贺你! 已运行首个 C# 程序。 这是一个简单程序,可输出消息“Hello World!”。 它使用 Console.WriteLine 方法打印此消息。 Console
是表示控制台窗口的类型。 WriteLine
是 Console
类型的方法,负责将文本行打印到文本控制台。
接下来,将继续进一步探索。 本课程的其余部分探索了如何使用在 C# 中表示文本的 string
类型。 与 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
。 试一试:
Console.WriteLine($"Hello {aFriend}");
再次选择“运行”,看看结果如何。 消息应该是“Hello Maira”,而不是“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 方法及相关方法 TrimStart 和 TrimEnd 将完成这项工作。 你只需使用这些方法即可删除前导和尾随空格。 试运行以下代码:
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}]");
方括号 [
和 ]
帮助可视化 Trim
、TrimStart
和 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 方法返回布尔值,指明是否找到了要搜索的字符串。 布尔变量存储 true
或 false
值。 显示为文本输出时,它们为大写:分别为 True
和 False
。 今后推出的课程将详细介绍布尔值。
挑战
有两个类似方法 StartsWith 和 EndsWith,也可以在字符串中搜索子字符串。 这些方法搜索字符串开头或结尾的子字符串。 试着将上一示例修改为使用 StartsWith 和 EndsWith,而不是使用 Contains。 搜索字符串开头是否有“You”或“goodbye”。 搜索字符串末尾是否有“hello”或“goodbye”。
注意
针对字符串结尾文本测试时,请注意标点符号。 如果字符串以句点结尾,必须检查是否有以句点结尾的字符串。
如果字符串以“You”开头,以“hello”结尾,则你应会获得 true
;如果以“goodbye”为开头或结尾,则会获得 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# 初探”C# 教程简介。 可选择下方的“C# 中的数字”链接开始下一个交互式教程,或者可访问 .NET 站点下载 .NET SDK,在计算机上创建项目,并继续编码。 请通过“后续步骤”部分返回到这些教程。
有关 string
类型的其他阅读材料:
你有关于此部分的问题? 如果有,请向我们提供反馈,以便我们对此部分作出改进。