在本教程中,你将创建一个简单的实用工具库,其中包含单个字符串处理方法。
类库 定义应用程序调用的类型和方法。 如果库面向 .NET Standard 2.0,则任何支持 .NET Standard 2.0 的 .NET 实现(包括 .NET Framework)都可以调用它。 如果库面向 .NET 9,则任何面向 .NET 9 的应用程序都可以调用它。 本教程演示如何以 .NET 9 为目标。
创建类库时,可以将其分发为第三方组件,也可以将其分发为包含一个或多个应用程序的捆绑组件。
先决条件
- 最新的 .NET SDK
- Visual Studio Code 编辑器
- C# 开发套件
安装说明
在 Windows 上,使用此 WinGet 配置文件 来安装所有必备组件。 如果已安装某些内容,WinGet 将跳过此步骤。
- 下载该文件,然后双击以运行它。
- 阅读许可协议,键入 y,并在系统提示接受时按下 Enter。
- 如果在任务栏中收到闪烁的用户帐户控制(UAC)提示,请允许安装继续。
在其他平台上,需要单独安装其中每个组件。
- 从 .NET SDK 下载页面下载建议的安装程序,然后双击以运行它。 下载页可检测平台,并推荐平台的最新安装程序。
- 从 Visual Studio Code 主页下载最新的安装程序,然后双击以运行它。 该页还会检测平台,并且链接应该适合你的系统。
- 单击 C# DevKit 扩展页上的“安装”按钮。 这将打开 Visual Studio 代码,并询问是否要安装或启用扩展。 选择“安装”。
创建类库项目
首先创建名为“StringLibrary”的 .NET 类库项目和关联的解决方案。 解决方案充当一个或多个项目的容器。 你将向同一解决方案添加其他相关项目。
启动 Visual Studio Code。
转到资源管理器视图并选择 创建 .NET 项目。 或者,可以使用 Ctrl+Shift+P(MacOS 上的 Command+Shift+P)打开命令面板,然后键入“.NET”并查找并选择 .NET:新建项目命令。
选择命令后,需要选择项目模板。 选择类库。
然后选择要创建新项目的位置。
然后选择要创建新项目的位置:创建名为
ClassLibraryProjects
的文件夹,然后选择它。将项目命名 StringLibrary,选择 显示所有模板选项,选择 .NET 9,然后选择 创建项目。
将项目命名 StringLibrary,然后选择 创建项目。
在提示符下按下 Enter 键,项目 将在路径 <>中创建。
检查以确保该库以 .NET 9 为目标。 在 资源管理器中,打开 StringLibrary/StringLibrary.csproj。
TargetFramework
元素显示项目面向 .NET 9.0。<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net9.0</TargetFramework> </PropertyGroup> </Project>
打开 Class1.cs 并将代码替换为以下代码。
using System; namespace UtilityLibraries { public static class StringLibrary { public static bool StartsWithUpper(this string str) { if (string.IsNullOrWhiteSpace(str)) return false; char ch = str[0]; return char.IsUpper(ch); } } }
类库
UtilityLibraries.StringLibrary
包含名为StartsWithUpper
的方法。 此方法返回一个 Boolean 值,该值指示当前字符串实例是否以大写字符开头。 Unicode 标准将大写字符与小写字符区分开来。 如果字符为大写,Char.IsUpper(Char) 方法将返回true
。保存文件。
在资源管理器 视图底部展开解决方案资源管理器。
右键单击 解决方案资源管理器中的解决方案 并选择 生成,或打开命令面板并选择 .NET:生成 以生成解决方案,并验证项目是否编译时没有错误。
终端输出如以下示例所示:
Microsoft (R) Build Engine version 17.8.0+b89cb5fde for .NET Copyright (C) Microsoft Corporation. All rights reserved. Determining projects to restore... All projects are up-to-date for restore. StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net9.0\StringLibrary.dll Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:02.78
将控制台应用添加到解决方案
添加使用类库的控制台应用程序。 应用将提示用户输入字符串并报告字符串是否以大写字符开头。
右键单击解决方案资源管理器 中的解决方案,然后选择 新建项目,或在命令面板中选择 .NET:新建项目。
选择控制台应用。
为它命名 ShowCase,选择默认位置,然后选择 创建项目。
打开 ShowCase/Program.cs,并将所有代码替换为以下代码。
using System; using UtilityLibraries; class Program { static void Main(string[] args) { int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrEmpty(input)) break; Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{(input.StartsWithUpper() ? "Yes" : "No")}{Environment.NewLine}"); row += 3; } while (true); return; // Declare a ResetConsole local method void ResetConsole() { if (row > 0) { Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } Console.Clear(); Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}"); row = 3; } } }
该代码使用
row
变量来维护写入控制台窗口的数据行数的计数。 每当它大于或等于 25 时,代码将清除控制台窗口并向用户显示消息。程序提示用户输入字符串。 它指示字符串是否以大写字符开头。 如果用户在没有输入字符串的情况下按 Enter 键,应用程序将结束,控制台窗口将关闭。
保存更改。
添加项目引用
最初,新的控制台应用项目无权访问类库。 若要允许它在类库中调用方法,请创建对类库项目的项目引用。
在解决方案资源管理器中,右键单击 ShowCase 项目,然后选择添加项目引用。
选择 StringLibrary。
运行应用
选择 运行>运行而不调试。
选择C#。
选择 ShowCase。
如果收到错误,指出未加载 C# 程序,请关闭已打开的文件夹,然后打开
ShowCase
文件夹。 然后再次尝试运行应用。输入字符串并按 Enter 以试用程序,然后按 Enter 退出。
终端输出如以下示例所示:
Press <Enter> only to exit; otherwise, enter a string and press <Enter>: A string that starts with an uppercase letter Input: A string that starts with an uppercase letter Begins with uppercase? : Yes a string that starts with a lowercase letter Input: a string that starts with a lowercase letter Begins with uppercase? : No
其他资源
后续步骤
在本教程中,你创建了一个库项目,并添加了使用该库的控制台应用项目。 在下一教程中,将单元测试项目添加到解决方案。