找到关于 C# 的2628 篇文章

如何在 C# 中从字符串列表创建逗号分隔的字符串?

Nizamuddin Siddiqui
更新于 2020年8月8日 10:56:42

11K+ 次浏览

可以使用内置的 string.Join 扩展方法将字符串列表转换为逗号分隔的字符串:string.Join(", ", list); 当我们从用户那里收集数据列表(例如:选中的复选框数据),并将其转换为逗号分隔的字符串以查询数据库进行进一步处理时,这种转换非常有用。示例 在线演示using System; using System.Collections.Generic; namespace DemoApplication {    public class Program {       static void Main(string[] args) {          List<string> fruitsList = new List<string> {             "banana",             ... 阅读更多

如何在 C# 单元测试中验证已抛出的异常?

Nizamuddin Siddiqui
更新于 2020年8月8日 09:07:06

4K+ 次浏览

我们可以通过两种方式在单元测试中验证异常。使用 Assert.ThrowsException 使用 ExpectedException 属性。示例让我们考虑一个需要测试的抛出异常的 StringAppend 方法。using System; namespace DemoApplication {    public class Program {       static void Main(string[] args) {       }       public string StringAppend(string firstName, string lastName) {          throw new Exception("Test Exception");       }    } }使用 Assert.ThrowsExceptionusing System; using DemoApplication; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace DemoUnitTest {    [TestClass]    public class DemoUnitTest {       [TestMethod]       public void ... 阅读更多

如何在 C# 中将字节数组转换为对象流?

Nizamuddin Siddiqui
更新于 2020年8月8日 09:01:09

2K+ 次浏览

Stream 是所有流的抽象基类,它提供字节序列的通用视图。Streams 对象涉及三个基本操作,例如读取、写入和查找。流可以重置,从而提高性能。可以使用 MemoryStream 类将字节数组转换为内存流。MemoryStream stream = new MemoryStream(byteArray);示例让我们考虑一个包含 5 个值 1、2、3、4、5 的字节数组。 在线演示using System; using System.IO; namespace DemoApplication {    class Program {       static void Main(string[] args) {          byte[] byteArray = new ... 阅读更多

C# 中 Func 委托和 Action 委托有什么区别?

Nizamuddin Siddiqui
更新于 2020年8月8日 08:59:02

2K+ 次浏览

委托是一种表示具有特定参数列表和返回类型的对方法的引用的类型。当我们实例化委托时,我们可以将其实例与任何具有兼容签名和返回类型的关联方法。我们可以通过委托实例调用(或调用)该方法。Func 委托Func 是 System 命名空间中包含的泛型委托。它具有零个或多个输入参数和一个输出参数。最后一个参数被认为是输出参数。此委托可以指向一个最多接受 16 个参数并返回值的方法。以下是 Func 委托... 阅读更多

如何在 C# 中验证字符串是否为数字?

Nizamuddin Siddiqui
更新于 2020年8月8日 08:56:21

1K+ 次浏览

可以使用 int.TryParse 或 int.Parse 验证包含数字的字符串。如果无法将字符串解析为整数,Int.Parse 将抛出异常,而 Int.TryParse 将返回一个布尔值,指示它是否成功。此外,Int.TryParse 还有一个输出参数,其中包含已解析字符串的值。示例 在线演示using System; namespace DemoApplication {    class Program {       static void Main(string[] args) {          string numberString = "123";          int number = 0;          if(int.TryParse(numberString, out number)) {             Console.WriteLine($"Try Parse Interger Number: {number}");     ... 阅读更多

如何在 C# 中创建不存在的文件夹?

Nizamuddin Siddiqui
更新于 2020年8月8日 08:52:58

11K+ 次浏览

要创建目录,我们必须首先在 C# 中导入 System.IO 命名空间。该命名空间是一个库,允许您访问用于创建、复制、移动和删除目录的静态方法。在 C# 中执行任何文件操作之前,始终建议检查目录是否存在,因为如果文件夹不存在,编译器将抛出异常。示例using System; using System.IO; namespace DemoApplication {    class Program {       static void Main(string[] args) {          string folderName = @"D:\Demo Folder";          // 如果目录不存在,则创建它   ... 阅读更多

如何将 C# DateTime 转换为“YYYYMMDDHHMMSS”格式?

Nizamuddin Siddiqui
更新于 2020年8月8日 08:49:41

4K+ 次浏览

将 dateTime 转换为 toString 将导致将 DateTime 转换为“YYYYMMDDHHMMSS”格式。dateTime 还可以转换为其他格式MM/dd/yyyy 08/22/2020dddd, dd MMMM yyyy 星期二,2020 年 8 月 22 日dddd, dd MMMM yyyy HH:mm 星期二,2020 年 8 月 22 日 06:30dddd, dd MMMM yyyy hh:mm tt 星期二,2020 年 8 月 22 日 上午 06:30dddd, dd MMMM yyyy H:mm 星期二,2020 年 8 月 22 日 6:30dddd, dd MMMM yyyy h:mm tt 星期二,2020 年 8 月 22 日 上午 6:30dddd, dd MMMM yyyy HH:mm:ss 星期二,2020 年 8 月 22 日 06:30:07MM/dd/yyyy HH:mm 08/22/2020 06:30MM/dd/yyyy hh:mm tt 08/22/2020 上午 06:30MM/dd/yyyy H:mm 08/22/2020 6:30MM/dd/yyyy h:mm tt 08/22/2020 上午 6:30MM/dd/yyyy HH:mm:ss 08/22/2020 06:30:07示例 在线... 阅读更多

如何在 C# 中检查数字是否是 2 的幂?

Nizamuddin Siddiqui
更新于 2020年8月8日 08:49:09

532 次浏览

2 的幂是一个 2n 形式的数字,其中 n 是一个整数。以数字 2 为底,整数 n 为指数的幂的结果。n2n01122438416532示例 1 在线演示class Program {    static void Main() {       Console.WriteLine(IsPowerOfTwo(9223372036854775809));       Console.WriteLine(IsPowerOfTwo(4));       Console.ReadLine();    }    static bool IsPowerOfTwo(ulong x) {       return x > 0 && (x & (x - 1)) == 0;    } }输出False True示例 2 在线演示class Program {    static void Main() {       Console.WriteLine(IsPowerOfTwo(9223372036854775809));       Console.WriteLine(IsPowerOfTwo(4));       Console.ReadLine();    }    static bool IsPowerOfTwo(ulong n) {       if (n == 0)          return false;       while (n != 1) {          if (n % 2 != 0)             return false;          n = n / 2;       }       return true;    } }输出False True

如何在 .NET 中进行对象的深复制?

Nizamuddin Siddiqui
更新于 2020年8月8日 08:44:12

104 次浏览

深度复制会复制所有内容。集合的深度复制是指两个集合,其中包含原始集合中所有已复制的元素。深度复制用于创建内部引用类型的完整深度副本。换句话说,当对象与其引用的对象一起被复制时,就会发生深度复制。示例 在线演示类 DeepCopy {    public int a = 10; } 类 Program {    static void Main() {       //深度复制       DeepCopy d = new DeepCopy();       d.a = 10;       DeepCopy d1 = new ... 阅读更多

C# 中的 [Flags] 枚举属性是什么意思?

Nizamuddin Siddiqui
更新于 2020年8月8日 08:41:57

浏览量 538 次

枚举标志用于获取枚举变量并允许它保存多个值。只要枚举表示标志集合而不是单个值,就应该使用它。仅当要对数值执行按位运算(AND、OR、EXCLUSIVE OR)时,才应为枚举使用 FlagsAttribute。以 2 的幂定义枚举常量,即 1、2、4、8 等。这意味着组合枚举常量中的各个标志不会重叠。示例 在线演示类 Program {    [Flags]    enum SocialMediaFlags { None = 0, Facebook = 1, Twitter = ... 阅读更多

广告