找到 2628 篇文章 关于 C#

C# 程序列出两个列表之间的差异

Samual Sam
更新于 2020-06-22 10:23:00

2K+ 阅读量

要获取两个列表之间的差异,首先在 C# 中设置两个列表−// 第一个列表 List < string > list1 = new List < string > (); list1.Add("A"); list1.Add("B"); list1.Add("C"); list1.Add("D"); // 第二个列表 List < string > list2 = new List < string > (); list2.Add("C"); list2.Add("D"); foreach(string value in list2) {    Console.WriteLine(value); }要获取差异,请使用 IEnumerable 和 Except(),如下所示。差异显示在第三个列表中−IEnumerable < string > list3; list3 = list1.Except(list2);以下是完整代码−示例 实时演示using System; using System.Collections.Generic; using System.Linq; public class Demo ... 阅读更多

使用 C# 正则表达式进行日期格式验证

karthikeya Boyini
更新于 2020-06-22 10:23:28

15K+ 阅读量

在 C# 中使用 DateTime.TryParseExact 方法进行日期格式验证。该方法将日期和时间的指定字符串表示形式转换为其 DateTime 等效项。它检查输入的日期格式是否正确。示例 实时演示using System; using System.Globalization; namespace Demo {    class Program {       static void Main(string[] args) {          DateTime d;          bool chValidity = DateTime.TryParseExact(          "08/14/2018",          "MM/dd/yyyy",          CultureInfo.InvariantCulture,          DateTimeStyles.None,          out d);          Console.WriteLine(chValidity);       }    } }输出True

C# 中的 SortedMap 接口

Samual Sam
更新于 2020-06-22 10:23:59

349 阅读量

Java 具有 SortedMap 接口,而 C# 中的等效项是 SortedList。C# 中的 SortedList 集合使用键和索引来访问列表中的项。排序列表是数组和哈希表的组合。它包含一个可以通过键或索引访问的项目列表。如果使用索引访问项目,则为 ArrayList,如果使用键访问项目,则为 Hashtable。项目的集合始终按键值排序。让我们看一个使用… 的示例 阅读更多

按字典序对 C# 中的单词进行排序

Arjun Thakur
更新于 2020-06-22 10:24:33

909 阅读量

首先,设置一个字符串数组−string[] arr = new string[] {    "Indian",    "Moroccon",    "American", };要按字典序对单词进行排序−var sort = from a in arr orderby a select a;示例 实时演示让我们看看完整的代码−using System; using System.Linq; class Program {    static void Main() {       string[] arr = new string[] {          "Indian",          "Moroccon",          "American",       };       var sort = from a in arr       orderby a       select a;       foreach(string res in sort) {          Console.WriteLine(res);       }    } }输出American Indian Moroccon

使用 C# 将数组按降序排序

karthikeya Boyini
更新于 2020-06-22 10:25:12

375 阅读量

声明并初始化一个数组−int[] arr = new int[] {    87,    23,    65,    29,    67 };要排序,请使用 Sort() 方法和 CompareTo() 进行比较并以递减顺序显示−Array.Sort < int > (arr, new Comparison < int > ((val1, val2) => val2.CompareTo(val1)));让我们看看完整的代码−示例 实时演示using System; using System.Collections.Generic; using System.Text; public class Demo {    public static void Main(string[] args) {       int[] arr = new int[] {          87,          23,          65,     ... 阅读更多

在 C# 中使用 ReaderWriterLock

George John
更新于 2019-07-30 22:30:23

598 阅读量

ReaderWriterLock 同步对资源的访问。ReaderWriterLock 比 Monitor 具有更好的吞吐量,Monitor 是一种一次一个的锁。这适用于资源很少更改的情况。让我们看看如何在 C# 中声明 ReaderWriter 锁− static ReaderWriterLock r = new ReaderWriterLock();以下是 C# 中 ReaderWriter 锁的属性− 序号。属性和描述 1 IsReaderLockHeld 获取一个值,该值指示当前线程是否持有读者锁。 2 IsWriterLockHeld 获取一个值,该值指示当前线程是否持有写入器锁。 ... 阅读更多

C# 代码的单元测试

Samual Sam
更新于 2019-07-30 22:30:23

988 阅读量

单元测试是 C# 代码的关键,因为它可以帮助在开发过程中维护代码。它让你了解开发周期中的问题。通过单元测试,您可以使代码可靠且可重用。采用单元测试的基本原则之一是遵循 TDD(测试驱动开发)方法,在这种方法中,我们必须首先编写测试用例,然后编写简单的代码以使测试通过。对于单元测试,您需要使用 Microsoft 测试工具,我们称之为 MS Unit Test。要创建… 阅读更多

C# 中的线程安全集合

Arjun Thakur
更新于 2019-07-30 22:30:23

704 阅读量

.NET Framework 4 引入了 System.Collections.Concurrent 命名空间。该命名空间包含许多集合类。这些类既是线程安全的又是可扩展的。多个线程可以安全地向这些集合添加或从中删除项目,以下并发集合类型使用轻量级同步机制:SpinLock、SpinWait 等。这些是 .NET Framework 4 中的新增功能。让我们看看 C# 中的并发集合− 序号。类型和描述 1 BlockingCollection 任何类型的边界和阻塞功能。 2 ConcurrentDictionary 字典键值对的线程安全实现。 3 ConcurrentQueue FIFO 的线程安全实现… 阅读更多

C# 中基于线程的并行处理

karthikeya Boyini
更新于 2020-06-22 10:15:20

940 阅读量

在 C# 中,任务并行处理划分任务。然后将这些任务分配给单独的线程进行处理。在 .NET 中,您可以使用以下机制并行运行代码:线程、ThreadPool 和 Task。对于并行处理,请在 C# 中使用任务而不是线程。任务不会创建自己的操作系统线程,而是在 TaskScheduler 上执行。让我们看看如何创建任务。使用委托启动任务−Task tsk = new Task(delegate { PrintMessage(); }); tsk.Start();使用 Task Factory 启动任务−Task.Factory.StartNew(() => {Console.WriteLine("Welcome!"); });您还可以使用 Lambda−Task tsk = new Task( () => PrintMessage() ... 阅读更多

C# 中的线程同步

Chandu yadav
更新于 2020-06-22 10:15:44

525 阅读量

使用 Synchronization.Mutex 同步多线程应用程序中的资源访问以同步线程互斥锁可用于跨进程同步线程。使用它来防止多个线程同时执行代码块。C# lock 语句用于确保代码块在不受其他线程干扰的情况下运行。对于给定的对象,在代码块持续时间内获取互斥锁。lock 语句获取一个对象作为参数。给定给“lock”的参数应基于引用类型的对象−public class Demo ... 阅读更多

广告