共计 97 篇文章

C# 当中 LINQ 的常规用法 (Lambda 方式)

.1. IEnuemrable<T>.Select() Select 方法比较简单,就是在原有序列的基础上,为每个元素建立一个新的输出形式(类型)。 标准用法如下: public class TestClass { public string Name { get; set; } public int Age { get; set; } } void ...

C# 多线程学习笔记 - 3

[TOC] 一、基于事件的异步模式 基于事件的异步模式 (event-based asynchronous pattern) 提供了简单的方式,让类型提供多线程的能力而不需要显式启动线程。 协作取消模型。 工作线程完成时安全更新 UI 的能力。 转发异常到完成事件。 EAP 仅是一个模式,需要开发人员自己实现。 EAP 一般会提供一组成员,在其内部管理工作线程,例如 WebClient 类型就使用的 EAP 模式进行设计。 // 下载数据的同步版本。 ...

JSON 序列化的时候忽略无效的属性值

例如我拥有以下代码。 public class NewObject { public int? TestValue { get; set; } public int? Age { get; set; } } 当我为 TestValue 属性传入一个非法数据的时候,在使用 JSON.NET 进行反序列化时会抛出异常。例如我通过以下代码对一个字符串进行反序列化,如果不出意外的话会提示无效参数值的异常。 var newValue = JsonConvert. ...

C# 多线程学习笔记 - 2

本文主要针对 GKarch 相关文章留作笔记,仅在原文基础上记录了自己的理解与摘抄部分片段。 遵循原作者的 CC 3.0 协议。 如果想要了解更加详细的文章信息内容,请访问下列地址进行学习。 原文章地址:https://blog.gkarch.com/threading/part2.html 一、同步概要 同步构造基本分为四种,简单的阻塞方法、锁构造、信号构造、非阻塞同步构造。 ...