3K+ 次浏览
Yield 关键字有助于对集合进行自定义有状态迭代。这意味着当我们使用 yield 关键字时,控制权会在调用函数和源之间来回切换。示例 实时演示使用 System;使用 System.Collections.Generic;命名空间 DemoApplication { 类程序 { 静态列表 numbersList = 新列表 { 1, 2, 3, 4, 5 }; 公共静态无效主函数() { foreach(int i in RunningTotal()) { Console.WriteLine(i); } Console.ReadLine(); ... 阅读更多
2K+ 次浏览
泛型允许我们定义一个类,其中包含其字段、方法、参数等的类型的占位符。泛型在编译时用一些特定类型替换这些占位符。可以使用尖括号定义泛型。集合的主要限制之一是缺乏有效的类型检查。这意味着您可以将任何对象放入集合中,因为 C# 编程语言中的所有类都扩展自 object 基类。此外,我们不能像在普通方法中那样简单地从泛型方法返回 null。以下是如果我们... 阅读更多
复制目录的全部内容时,更重要的是我们必须复制其子目录和相关文件。示例让我们考虑一个演示源目录,其中包含如下子目录和文件。以下是最初为空的演示目标目录。使用 System;使用 System.IO;命名空间 DemoApplication { 类程序 { 公共静态无效主函数() { 字符串 sourceDirectory = @"d:\DemoSourceDirectory"; 字符串 targetDirectory = @"d:\DemoTargetDirectory"; DirectoryInfo sourceDircetory = 新 DirectoryInfo(sourceDirectory); DirectoryInfo targetDircetory = 新 DirectoryInfo(targetDirectory); CopyAll(sourceDircetory, ... 阅读更多
13K+ 次浏览
LINQ Except 运算符属于 LINQ 中的集合运算符类别Except() 方法需要两个集合,并查找第二个集合中不存在的元素对于复杂类型的集合,Except 扩展方法不会返回正确的结果。示例使用 Except() 方法 实时演示使用 System;使用 System.Collections.Generic;使用 System.Linq;命名空间 DemoApplication { 类程序 { 静态无效主函数(字符串[] args) { 列表 animalsList1 = 新列表 { "tiger","lion","dog" }; Console.WriteLine($"List1 中的值:"); ... 阅读更多
让我们假设我们必须从以下字符串中消除换行符、空格和制表符空格。eliminate.jpg示例我们可以使用字符串的 Replace() 扩展方法来实现这一点。 实时演示使用 System;命名空间 DemoApplication { 类程序 { 静态无效主函数(字符串[] args) { 字符串 testString = "Hello \r beautiful \t world"; 字符串 replacedValue = testString.Replace("\r","_").Replace("\t","_"); Console.WriteLine(replacedValue); Console.ReadLine(); } } }输出上述代码的输出为Hello _ beautiful _ world示例我们还可以使用... 阅读更多
12K+ 次浏览
如果集合是 List,则可以使用作为 LINQ 一部分提供的 ForEach 扩展方法。示例 实时演示使用 System;使用 System.Collections.Generic;命名空间 DemoApplication { 类程序 { 静态无效主函数(字符串[] args) { 列表 fruits = 新列表 { 新水果 { Name = "Apple", Size = "Small" }, 新水果 { ... 阅读更多
5K+ 次浏览
使用 C# 中的 int.Parse 或 Convert.ToInt32 方法将数字的字符串表示形式转换为整数。如果字符串无法转换,则 int.Parse 或 Convert.ToInt32 方法将引发异常Convert.ToInt32 允许 null 值,它不会引发任何错误Int.parse 不允许 null 值,并且会引发 ArgumentNullException 错误。示例 实时演示类程序 { 静态无效主函数() { int res; 字符串 myStr = "5000"; res = int.Parse(myStr); Console.WriteLine("转换字符串为数字表示形式:"+ res); Console.ReadLine(); } }输出转换字符串为数字表示形式:5000... 阅读更多
为了删除所有文件夹及其各自的目录,我们可以使用 C# 中可用的 System.IO 命名空间。DirectoryInfo() 类提供目录中所有子目录和文件的信息。示例让我们考虑一个名为 Demo 的目录,其中包含两个子目录和一些如下所示的文件。使用 System.IO;命名空间 DemoApplication { 类程序 { 静态无效主函数(字符串[] args) { DirectoryInfo di = 新 DirectoryInfo(@"D:\Demo"); foreach (DirectoryInfo dir in di.GetDirectories()) { foreach (FileInfo file in dir.GetFiles()) { ... 阅读更多
6K+ 次浏览
我们可以使用反射来动态获取属性值。反射提供描述程序集、模块和类型的对象(类型为 Type)。我们可以使用反射来动态创建类型的实例、将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果我们在代码中使用属性,则反射使我们能够访问它们。System.Reflection 命名空间和 System.Type 类在 .NET 反射中起着重要的作用。这两个类协同工作,使我们能够反映类型的许多其他方面... 阅读更多
17K+ 次浏览
在 .Net 中,每个字符串都有一个字符集和编码。字符编码告诉计算机如何将原始的零和一解释为真实的字符。它通常通过将数字与字符配对来实现这一点。实际上,它是将一组 Unicode 字符转换为字节序列的过程。我们可以使用 Encoding.GetString 方法 (Byte[]) 将指定字节数组中的所有字节解码为字符串。Encoding 类中还提供了其他几种解码方案,例如 UTF8、Unicode、UTF32、ASCII 等。Encoding 类作为 System.Text 命名空间的一部分提供。字符串 result = Encoding.Default.GetString(byteArray);示例 实时... 阅读更多