190 次浏览
为了将二进制转换为十进制,这里我使用了一个 while 循环并找到了二进制数的余数,这是输入。之后,余数乘以基数并相加。这就是我获得十进制值的方法:while (val > 0) { remainder = val % 10; myDecimal = myDecimal + remainder* baseVal; val = val / 10; baseVal = baseVal * 2; }示例让我们看看在 C# 中将二进制转换为十进制的完整代码:在线演示using System; using System.Collections.Generic; using System.Text; namespace Demo { class ... 阅读更多
10K+ 次浏览
二分查找作用于已排序的数组。将值与数组的中间元素进行比较。如果找不到相等的值,则消除不存在该值的那一半部分。同样,搜索另一半部分。这是我们数组中的中间元素。假设我们需要查找 62,则将消除左侧部分,然后搜索右侧部分:以下是二分查找的复杂度:最坏情况性能 O(log n) 最佳情况性能 O(1) 平均情况性能 O(log n) 最坏情况空间复杂度 O(1) 示例让我们看看实现二分查找的方法:public ... 阅读更多
434 次浏览
使用 BigInteger 处理 C# 中的大数。要添加的 BigInteger 程序集是 System.Numerics。在 c# 中,BigInteger 位于 System.Numerics.BigInteger 中。语法BigInteger 的语法:[SerializableAttribute] public struct BigInteger : IFormattable, IComparable, IComparable, IEquatable让我们看看一个示例代码片段:BigInteger num = BigInteger.Multiply(Int64.MaxValue, Int64.MaxValue);您可以像这样创建 BigInteger:BigInteger num = new BigInteger(double.MaxValue);以下是它的一些构造函数:序号 构造函数和说明 1 BigInteger(Byte[ ]) 使用字节数组中的值创建一个新的 BigInteger 结构实例。 2 BigInteger(Decimal) 使用 Decimal 值创建一个新的 BigInteger 结构实例。 3 BigInteger(Double) 使用 Double 值创建一个新的 ... 阅读更多
870 次浏览
要在 C# 中创建一个计算器程序,您需要使用 Web 窗体。在其中创建从 1 到 9 的按钮、加法、减法、乘法等。让我们看看加法、减法和乘法的代码。首先,我们声明了两个变量:static float x, y;现在,我们将看到如何在单个按钮单击上设置计算代码:我们的结果文本框是 tbResult,因为我们也使用了 Windows 窗体来显示计算器:protected void add_Click(object sender, EventArgs e) { x = Convert.ToInt32(tbResult.Text); tbResult.Text = ""; y = '+'; tbResult.Text += y; } protected void sub_Click(sender, ... 阅读更多
1K+ 次浏览
顾名思义,BackgroundWorker 类允许您设置一个在后台连续运行并根据需要与主线程通信的线程。BackgroundWorker 使在 Windows 窗体中实现线程成为可能。需要在另一个线程上执行密集型任务,以便 UI 不会冻结。在任务完成后,需要发布消息并更新用户界面。以下属性用于 BackgroundWorker 类:参考:Microsoft Developer Network (MSDN) 序号 名称和说明 1 CancellationPending 一个值,指示应用程序是否已请求取消后台操作。 2 CanRaiseEvents 获取一个值,该值指示组件是否可以引发 ... 阅读更多
634 次浏览
线程被定义为程序的执行路径。每个线程定义一个唯一的控制流后台线程当前台线程关闭时,后台线程将被终止。用于后台线程的属性是 IsBackground,它获取或设置一个值,该值指示线程是否为后台线程。此属性的默认值为 false,因为创建的默认线程是前台线程。创建后台线程:Thread bgThread = new Thread(tStart); bgThread.IsBackground = true; bgThread.Start();前台线程前台线程将继续运行,直到最后一个前台线程终止。当所有前台线程停止时,... 阅读更多
2K+ 次浏览
装箱装箱是将值类型隐式转换为引用类型。拆箱拆箱是将由装箱创建的引用类型显式转换回值类型。示例让我们看看一个示例代码片段:// int int myVal = 12; // 装箱 object myBoxed = myVal; // 拆箱 int myUnBoxed = (int) myBoxed;让我们看看另一个显示 C# 中数组列表的示例:int a = 5; ArrayList arr = new ArrayList(); // 装箱 arr.Add(a); // 拆箱 int b = (int)arr[0];
915 次浏览
async 和 await 关键字用于 C# 的异步编程。一个带有 GUI 的应用程序,检查队列的内容,如果存在未处理的任务,则将其取出并首先处理它。代码同步执行,未处理的任务首先完成。如果处理时间超过预期,则应用程序将显示停止响应消息。让我们看看上面讨论的内容:private void OnRequestDownload(object sender, RoutedEventArgs e) { var req = HttpWebRequest.Create(_requestedUri); var res = req.GetResponse(); }为了解决上述问题,请使用 async 和 await 关键字:private async ... 阅读更多
5K+ 次浏览
C# 中的关联关联定义了 C# 中对象之间的关系。可以在对象之间定义一对一、一对多、多对一和多对多关系。例如,一个员工可以与多个项目相关联,而一个项目可以有多个员工。C# 中的组合在组合下,如果父对象被删除,则子对象也失去其状态。组合是一种特殊的聚合,表示一部分关系。例如,一辆汽车有一个发动机。如果汽车被销毁,发动机也会被销毁。C# 中的聚合聚合是 C# 中对象之间的直接关系。它... 阅读更多
使用 C# 中的 array.copy 方法将一个数组的一部分复制到另一个数组。我们的原始数组有 10 个元素:int [] n = new int[10]; /* n 是一个包含 10 个整数的数组 */我们的新数组将复制数组 1 的一部分,它有 5 个元素:int [] m = new int[5]; /* m 是一个包含 5 个整数的数组 */array.copy() 方法允许您添加源数组和目标数组。这样,包括第一个数组中包含在第二个数组中的部分的大小。示例您可以尝试运行以下内容来... 阅读更多