随笔分类 - C#
摘要:以下内容来自B站老杨 例子:现在有这样一个程序 点击执行后会进入Work,然后修改UI线程内容,这里会造成UI线程的假死,因为是在主线程上处理的耗时操作。 如果将上面的注释代码放开,那么会直接报错,因为在其他线程上去修改UI线程的内容,这是不被允许的。 因此正确的写法应该这样写: 这样就不会阻塞主线
阅读全文
摘要:以下内容来自B站老杨 结果: 信号在打开后会处于打开状态,可以使用signal.Reset()方法将其再次关闭。
阅读全文
摘要:以下内容来自B站老杨 例子: 这里我们手动创建了一个线程,那么这个线程就是一个前台线程,如果用户有输入,那么就将其变为后台线程。 输出: 第二次给参数,直接就没有默认的前台线程,程序就直接结束运行了。
阅读全文
摘要:以下内容来自B站老杨 例子: Start接受的是一个object类型的参数,因此在Print函数内部需要对参数进行拆箱操作。 这里的i被当做了共享变量,i在循环周期内指向的都是同一个内存的地址。 输出结果 使用临时变量控制共享变量的问题 输出结果: 但是这样并不能保证输出的顺序性。 异常处理: 修改
阅读全文
摘要:后一句的话的理解就是CPU不再给阻塞的线程分配时间片也就是处理资源,线程就是干等着。 线程状态的枚举: 线程的运行中产生的几种状态图解: 上面的代码展示了如果线程不是或的那个三个状态就是running状态。 解除阻塞的四种方法: 上下文切换的概念: I/O-bound和CPU-bound概念 就以上
阅读全文
摘要:以下内容来自B站老杨 Join方法: 也就是说在主线程中开辟了一个新线程,新线程调用了join方法,那么主线程会等待新线程中的方法执行完成后再继续往下执行。 例子: 结果: 再一个例子: 输出结果: Join的第二种用法 例子: Work方法写个Sleep或者模拟其它耗时操作即可。 Sleep方法:
阅读全文
摘要:以下内容全部来自于B站老杨- https://space.bilibili.com/361469957/video 这里作为学习笔记记录。 线程的概念: 单线程应用: 多线程应用: 这幅图展示了四种程序状态: 用WPF的例子解释为什么需要多线程: 如果在UI界面的主线程读数据,那么耗时10s的读数据
阅读全文
摘要:理解概念 进程:占用资源的最小单元(相当于工作车间) 线程:调度运算的最小单元(相当于车间内的工人) 1.在使用winform窗体程序时,碰到耗时操作经常会导致窗体假死的情况; 那怎么解决UI线程的假死问题呢? 可以使用异步关键字async和await将阻塞的线程释放出来,解决窗体在操作耗时函数的时
阅读全文
摘要:原文出处:https://blog.csdn.net/long870294701/article/details/100752440 之前一直是删除webconfig才实现本地的网站正常显示,后才发现问题是IIS不识别Webconfig中的某个标签, 例如我这里不识别的标签是: <applicati
阅读全文
摘要:今天用MVC的JSONRESULT返回了一个字符串结果,然后前台用JQ的AJAX的回调函数接受返回值,但是试验了很多次都不能取到返回值,然后通过AJAX的error回调函数查看到出现了parse的错误; 顿悟json是由键值对组成的数据,单个的字符串返回并不能被ajax的回调函数解析,所以会引发错误
阅读全文
摘要:主要参考资料: 很详细的解释了客户端如何正确组装multipart/form-data头内容以及实体内容:https://www.cnblogs.com/kissdodog/archive/2013/04/06/3002779.html 但是其中的代码有点问题:注意是在最后request流结束的bo
阅读全文
摘要:1.通过路由接收参数,一般直接通过Url拼接直接匹配路由对应参数 这个直接通过设置路由,然后Url的位置对应即可; 2.通过QueryString传递参数 一般常见于Get访问数据传参; 3.通过[FromBody]直接在形参接收数据 客户端代码: private async void Btn_Se
阅读全文
摘要:1.action方法可以返回任何东西; 2.ViewData ViewBag TempData的区别 1,2两种传值方式其实是一样的,本身数据也是互通的,但是一般建议使用ViewBag,是新出的类型dynamic,并且使用起来更灵活; TempData主要用于跨页面传值,也就是在一个Action中跳
阅读全文
摘要:两种调用方式: 后台 代码: namespace Day3_T3_WebApi.Controllers { public class BookInfoController : ApiController { // GET: api/BookInfo //使用method=Get方式 去请求URL为a
阅读全文
摘要:写的最通俗易懂的请看这里:https://www.jb51.net/article/177025.htm 需要注意的是其实三种写法都有三种不同的适用场景,没必要追求最新的写法,注意理解区别和使用情况,活学活用。 详细的内容请在MSDN上查找,注意查阅文档的方法, 很多代码的示例是需要点击到更深入的部
阅读全文
摘要:使用时不要从网上找使用说明,直接上GitHub上找源码,查看Usage即可。
阅读全文
摘要:在原项目的磁盘文件夹中找到 Form1.cs Form1.Designer.cs Form1.resx 这三个文件,然后拷贝到新项目的文件夹下, 在VS中的新项目右键点击“添加”-“现有项” 自动跳到当前项目的文件夹下,将Form1.cs添加即可 注意:如果新项目是控制台应用程序这种, 还需要在引用
阅读全文
摘要:为什么想要了解并行程序的写法,源自上学期间有一个算法需要处理很多的地震道记录,在处理地震道的时候各道的数据是不关联的, 因此是两个for循环X,Y方向的地震道数据,然后计算,自然速度就慢了。 那么如果对于计算密集型的处理程序,并行计算就成了好的选择。 在C#中的三种写法:参考资料 static vo
阅读全文
摘要:有的时候在使用一些C#方法的时候会看到要求输入Expression<Func<T1,T2>> expression 这个参数 怎么去理解呢? Func是表示的委托类型,接受T1类型的参数,然后返回T2类型的值, 而Expression代表的是表达式类型 不妨这么去理解Expression<Func<
阅读全文

浙公网安备 33010602011771号