摘要:
先弄个实体类: class Student { public string Name { get; set; } public string Gender { get; set; } public int Age { get; set; } } 序列化 用JsonConvert.SerializeO 阅读全文
posted @ 2021-09-26 18:32
double64
阅读(163)
评论(0)
推荐(0)
摘要:
C语言指针常见错误,主要有两种情况: 1).指针未初始化; 2).避免使用scanf给指针赋值; 3).赋值指针为NULL。 指针未初始化 这种情况: int i = 10, *p; *p = i; printf("*i=%d\n", *p); 指针变量p是没有初始化的,就是你还没有给他里面赋值地址 阅读全文
posted @ 2021-09-26 18:29
double64
阅读(955)
评论(0)
推荐(0)
摘要:
尝试用 C# 和 C/C++ 混合编程玩下,主要看看如何传参。 传基本的数据类型 像int,double这类的基本类型直接传参好像问题不大。 C++: extern "C" __declspec(dllexport) double cppFun(int a, double b) { return a 阅读全文
posted @ 2021-09-26 18:27
double64
阅读(142)
评论(0)
推荐(0)
摘要:
C#.Net 判断窗体是否创建,如果已创建,激活窗体。 方法一 private Form2 frm2; private void button1_Click(object sender, EventArgs e) { if (frm2 == null) { frm2 = new Form2(); f 阅读全文
posted @ 2021-09-26 18:24
double64
阅读(1072)
评论(0)
推荐(0)
摘要:
做几道简单的C语言题。 (1) 求出 1! + 2! + 3! +...+n!; #include <stdio.h> int nF (int n); int plus_nF(int n); int main(void) { printf("%d\n", plus_nF(10)); return 0 阅读全文
posted @ 2021-09-26 18:22
double64
阅读(340)
评论(0)
推荐(0)
摘要:
首先添加头文件using System.Xml; 然后,主要是几个步骤: 创建 XML 文档操作对象; 加载 XML 文档到文档对象中; 获取 XML 文档根目录; 遍历匹配节点信息,将对象信息放置 list 集合中。 Student.cs: using System; using System.C 阅读全文
posted @ 2021-09-26 18:20
double64
阅读(1803)
评论(0)
推荐(0)
摘要:
直接用明文文本的方式保存对象信息不是非常科学,现在用二进制序列化的方式来保存。 这里要先增加命名空间:using System.Runtime.Serialization.Formatters.Binary;,还要给实体类增加序列化标识特性。 通过分层设计来实现: 实体类 Student.cs: u 阅读全文
posted @ 2021-09-26 13:45
double64
阅读(441)
评论(0)
推荐(0)
摘要:
可以对象的信息保存到文本中,一行一行的保存,然后读取的时候一行一行的读取。缺点:如果行数错乱了,那读出来也是错乱的。这里只是一种思路。 只做练习,很多异常情况没有处理。 using System; using System.Collections.Generic; using System.Comp 阅读全文
posted @ 2021-09-26 13:43
double64
阅读(257)
评论(0)
推荐(0)
摘要:
文件流,文件夹的基本操作。有一些异常的判断没有加,实际中可以加一些异常的判断。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.D 阅读全文
posted @ 2021-09-26 13:37
double64
阅读(310)
评论(0)
推荐(0)
摘要:
可见BackGroundWorker有三个事件,事件间通过EventArgs实现参数传递。有用到CancellationPending属性判断取消。EvnentArgs 有很多属性:Cancel、Argument、Result、ProgressPercentage、UserState属性等。 usi 阅读全文
posted @ 2021-09-26 08:24
double64
阅读(333)
评论(0)
推荐(0)
摘要:
多个线程对同一资源的争夺,有可能出现线程不安全的现象。用lock这种最简单的方式实现下。 一 直观的看下这种情况: using System; using System.Collections.Generic; using System.Linq; using System.Threading.Ta 阅读全文
posted @ 2021-09-26 08:22
double64
阅读(923)
评论(0)
推荐(0)
摘要:
首相要加入using System.Diagnostics;命名空间。 GetProcesses()、Modules属性。一些进程的属性信息: Id // 进程唯一标识符 (Id) Handle //关联进程的本机句柄 (Handle) HandleCount //打开句柄数 (HandleCoun 阅读全文
posted @ 2021-09-26 08:21
double64
阅读(731)
评论(0)
推荐(0)
摘要:
跨线程的小运用。DataSet 和 DataGradeView DataTable 的数据填充。 ▲ 实现效果,同时还可以拖动窗口。 Note: 一些和数据库的交互操作都封装在 SQLHelper 类中,练习时候自行添加。 阅读全文
posted @ 2021-09-26 08:19
double64
阅读(342)
评论(0)
推荐(0)
摘要:
跨线程访问控件,主要用到控件的属性判断InvokeRequired是否为true,为true则为其他线程创建。 using System; using System.Windows.Forms; using System.Threading; namespace 跨线程控件访问 { public p 阅读全文
posted @ 2021-09-26 08:17
double64
阅读(1523)
评论(0)
推荐(0)
摘要:
回调函数的基本用法。 using System; using System.Threading; namespace AsyncBasic { class Program { [STAThread] static void Main(string[] args) { new Program().Ex 阅读全文
posted @ 2021-09-26 08:15
double64
阅读(702)
评论(0)
推荐(0)
摘要:
这应该是一种传统的方式吧。 一般顺序: 定义一个委托。 根据委托实现方法。 异步调用。 using System; using System.Threading; namespace AsyncBasic { class Program { [STAThread] static void Main( 阅读全文
posted @ 2021-09-26 08:14
double64
阅读(46)
评论(0)
推荐(0)
摘要:
扩展方法的 3 个要求: 声明扩展方法的类必须声明为 static; 扩展方法本身必须声明为static; 扩展方法第一个参数类型前一定要包含关键字 this。 using System; namespace ExtensionMethods { sealed public class MyMeth 阅读全文
posted @ 2021-09-26 08:13
double64
阅读(207)
评论(0)
推荐(0)
浙公网安备 33010602011771号