摘要: 扩展方法的 3 个要求: 声明扩展方法的类必须声明为 static; 扩展方法本身必须声明为static; 扩展方法第一个参数类型前一定要包含关键字 this。 using System; namespace ExtensionMethods { sealed public class MyMeth 阅读全文
posted @ 2021-06-20 17:16 double64 阅读(369) 评论(0) 推荐(0)
摘要: ▲ 运行截图 两个注意点 报错:DataGridView 控件中至少有一列没有单元格模板 解决方法: 一个小误区,你看看设计窗体生成的代码,DataGridView 的列不是 GridViewColumn 而是 DataGridViewTextBoxColumn 你只要添加这个类型的对象就可以了,我 阅读全文
posted @ 2021-06-20 08:42 double64 阅读(1033) 评论(0) 推荐(0)
摘要: 直接用明文文本的方式保存对象信息不是非常科学,现在用二进制序列化的方式来保存。 这里要先增加命名空间:using System.Runtime.Serialization.Formatters.Binary;,还要给实体类增加序列化标识特性。 通过分层设计来实现: 实体类 Student.cs: u 阅读全文
posted @ 2021-06-19 11:39 double64 阅读(293) 评论(0) 推荐(1)
摘要: C# 单例模式:一个类只能有一个实例对象。这样就决定了它有以下几个特点。 不能被继承,那得用sealed修饰类; 将构造函数隐藏起来,private构造函数; 公有静态方法创建单一实例; 为了保证多线程情况下的单一实例原则,还得加个线程锁; 简单代码实现如下: public sealed class 阅读全文
posted @ 2021-06-19 10:53 double64 阅读(95) 评论(0) 推荐(0)
摘要: Parse 失败后直接抛异常。 TryParse返回布尔类型进行判断,一般用它比较安全。 阅读全文
posted @ 2021-06-19 10:43 double64 阅读(109) 评论(0) 推荐(0)
摘要: Console.Write("请按下一个按键:"); ConsoleKey consoleKey = Console.ReadKey().Key; Console.WriteLine("\n你按下的键是{0}", consoleKey.ToString()); 输出: 请按下一个按键:i 你按下的键 阅读全文
posted @ 2021-06-19 10:32 double64 阅读(508) 评论(0) 推荐(0)
摘要: ▲ 机械设计手册(第五版)第一卷 p 31/1674 ▲ 常用数学符号读法 还可以参考这篇文章。 ▲ Latex 写法 参考: 1.[link-01]() 2.[link-02]() 3.[link-03]() 4.[link-04]() 5.[link-05]() --> 阅读全文
posted @ 2021-06-18 22:30 double64 阅读(1336) 评论(0) 推荐(0)
摘要: 编码器的输入口一般有三组:EA+/-、 EB+/-、 EZ+/- 。 编码器信号输入一般分两种,正负脉冲和A/B相正交。 (1) 非 AB 相脉冲输入模式 即为脉冲+方向模式。 此模式下 EA 端子接收脉冲信号; EB 端子接收方向信号,高电平对应于计数器加计数,低电平对应于减计数。 (2) AB 阅读全文
posted @ 2021-06-15 20:42 double64 阅读(5214) 评论(0) 推荐(0)
摘要: 有重载的情况下,传参有时需要显式类型: float float f = 1.0F double double d = 1D; decimal decimal d = 1,0M uint unit i = 1U; long long i = 1L; ulong ulong i = 1UL; 参考:ht 阅读全文
posted @ 2021-06-14 22:47 double64 阅读(862) 评论(0) 推荐(0)
摘要: #include<stdio.h> int main() { int a[5] = { 1, 2, 3, 4, 5 }; int *ptr = (int * )(&a + 1); printf("%d %d\n", *(a + 1), *(ptr - 1)); return 0; } 程序运行的结果 阅读全文
posted @ 2020-10-16 21:09 double64 阅读(198) 评论(0) 推荐(0)