找到 2628 篇文章 关于 C#
11K+ 次浏览
可以使用内置的 string.Join 扩展方法将字符串列表转换为逗号分隔的字符串:string.Join(", ", list); 当我们从用户那里收集数据列表(例如:选中的复选框数据),并将其转换为逗号分隔的字符串,然后查询数据库以进一步处理时,这种类型的转换非常有用。示例 在线演示using System; using System.Collections.Generic; namespace DemoApplication { public class Program { static void Main(string[] args) { List
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 ... 阅读更多
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 ... 阅读更多
2K+ 次浏览
委托是一种表示具有特定参数列表和返回类型的指向方法的引用的类型。当我们实例化一个委托时,我们可以将其实例与任何具有兼容签名和返回类型的关联方法相关联。我们可以通过委托实例调用(或调用)该方法。Func 委托Func 是包含在 System 命名空间中的泛型委托。它具有零个或多个输入参数和一个输出参数。最后一个参数被视为输出参数。此委托可以指向一个最多可接受 16 个参数并返回值的方法。以下是 Func 委托… 阅读更多
1K+ 次浏览
包含数字的字符串可以使用 int.TryParse 或 int.Parse 进行验证。如果无法将字符串解析为整数,则 Int.Parse 会抛出异常,而 Int.TryParse 返回一个 bool 值,指示它是否成功。此外,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($"TryParse 整数:{number}"); ... 阅读更多
11K+ 次浏览
要创建目录,我们必须首先在 C# 中导入 System.IO 命名空间。该命名空间是一个库,允许您访问用于创建、复制、移动和删除目录的静态方法。在 C# 中执行任何文件操作之前,始终建议检查目录是否存在,因为如果文件夹不存在,编译器会抛出异常。示例using System; using System.IO; namespace DemoApplication { class Program { static void Main(string[] args) { string folderName = @"D:\Demo Folder"; //如果目录不存在,则创建它 ... 阅读更多
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示例 在线… 阅读更多
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
104 次浏览
深复制复制所有内容。集合的深复制是两个集合,其中包含原始集合中所有已复制的元素。深复制用于创建内部引用类型的完整深复制。换句话说,当对象与其引用的对象一起复制时,就会发生深复制。示例 在线演示class DeepCopy { public int a = 10; } class Program { static void Main() { //深复制 DeepCopy d = new DeepCopy(); d.a = 10; DeepCopy d1 = new ... 阅读更多
538 次浏览
枚举标志 (Enum Flags) 用于声明一个枚举变量,并允许它同时持有多个值。仅当枚举表示一组标志而非单个值时才应使用它。只有在需要对数值执行按位运算(与、或、异或)时,才应为枚举使用 FlagsAttribute 属性。定义枚举常量时,应使用 2 的幂,例如 1、2、4、8 等。这意味着组合枚举常量中的各个标志不会重叠。示例 在线演示类程序 { [Flags] 枚举 SocialMediaFlags { None = 0, Facebook = 1, Twitter = ... 阅读更多