更多
2019年06月21日 15点43分 作者:Saber 修改

一起帮*源栈*每日一问 -C#语法

2019.6.21 C#进阶-8:异步和并行(一) 线程池中的线程用完就销毁吗? 前台线程和后台线程的区别? Wait() 和 RunSynchronously()的区别? ContinueWith确保一个线程在之前线程完成之后再开始运行? 线程托管 向Task传递参数,直接使用外部变量? 异步多线程的优点? 让Task开始执行的方法? 为什么要使用线程池? ……

C# .NET 编程 面试 每日提问
2019年06月20日 22点45分 作者:叶飞 修改

源栈培训:C#进阶-9:异步和并行(二)

async 和 await async方法一直同步运行,直到 await。从await开始,代码开始分叉(只是异步,不一定新开线程)执行:一边执行await后的表达式(Task)一边返回到方法调用者处继续执行直到await后的Task执行完毕,才会返回async方法,继续执行其await之后的剩余代码。public static async void Getup(){Console.WriteLine($"before await-1 with thread {Thread.CurrentThread.M ……

源栈培训 C# 异步 并行
2019年06月17日 08点56分 作者:叶飞 修改

源栈培训:C#进阶-8:异步和并行(一)

First of All:不要把异步和多线程混为一谈! —— 这是最大的误区。图示:概念区别:并行(parallel):多个任务真正的“同时”进行 ,只能在多处理器上实现并发(concurrency):多个任务在运行时间上有重叠(可以看起来像是在同时运行),通常在单处理器上实现。 多线程(multiple-threads):一个进程上有多个线程同时运行。在某些语境下可以和“并发”混用,因为目前的操作系统都是使用多线程实现并发。进程(process):重量级,操作系统分配资源(内存/CPU/IO)线程(th ……

源栈培训 C# 进阶 异步 多线程
2019年06月13日 09点00分 作者:叶飞 修改

源栈培训:C#进阶-7:Linq to XML

什么是XML(EXtensibleMarkupLanguage)是一种文本文件格式被设计用来传输和存储数据由:标签和属性组成元素(节点),由元素组成“树状结构”必须有而且只能有一个根节点其他:大小写敏感注释实体引用(保留字符替代)https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/linq/linq-to-xml-overviewhttps://docs.microsoft.com/zh-cn/dotnet/c ……

源栈培训 C# 进阶 Linq XML
2019年06月11日 09点04分 作者:叶飞 修改

源栈培训:C#进阶-6:异常处理

什么是异常?Exception:通用规则之外的情况。比如:NullReferenceException,OutOfRangeException……(演示)讨论:(抛)异常 = (有)bug?正方:就是bug,你书写代码的时候为什么不考虑到这些异常情况呢?应该先做一些判断啊……反方:???事实上,如果代码一跑就有异常,那肯定是bug;但是,有些异常是:我们无法预料的预料到了也难以/无法处理的所以,只有把异常抛出来,交由开发/代码维护/……人员处理。比如:掉网了/磁盘满了/断电了……异常,本来就是那些“正常情 ……

源栈培训 C# 进阶 异常
2019年06月10日 08点58分 作者:叶飞 修改

源栈培训:C#进阶-5:IO和文件操作

为什么是IO?文件的本质是一个有序的(ordered)命名的(named)字节组合,也就是流(stream)。文件的读写,本质上就是字节流的输入(Input)输出(Output)除了文件,还有其他形式的流,比如内存、网络和管道等……所以,命名空间:using System.IO;以下:一半演示/一半作业。锻炼同学们查阅文档的能力……路径(Path)Path是静态类,主要是针对文件路径进行操作,不涉及文件夹或文件本身。常用方法:Combine:组合成一个路径Extension:文件扩展名相关Director ……

源栈培训 C# 文件操作
2019年06月08日 22点15分 作者:叶飞 修改

源栈培训:C#进阶-4:Linq方法

除了可以在我们之前学习的(类sql)Linq查询语法中使用Count()/Average()等方法,整个Linq查询语句,其实都可以写成方法。因为C#编译器实际上会把所有的Linq查询表达式编译成方法,然后执行。常用方法以下皆可对照源栈培训:C#进阶-2:Linq条件过滤:Wherevar excellent = students.Where(s => s.Score > 90);var excellent = students//.Where(s => s.Majors.Count & ……

源栈培训 C# 语法 Linq method
2019年06月05日 16点00分 作者:叶飞 修改

如何确定自己适不适合转行做编程

我年轻的时候,(年轻的时候?泪奔啊~~o(>_<)o ~~),认识我的人都说我没有“定性”:我学的是国际贸易,毕业了先龙套英语老师,再做律师法务,后来又创业搞家装,折腾来折腾去……最后阴差阳错学了编程,本来就是去“探个深浅”,结果一做就是十年了。(详见自由飞:如何通过自学找到一份开发的工作?)为什么呢?IT这一行,钱多活少?其实我工资也不高,转行还要穷三年呢!而且我要沉下心来做律师的话,估计也不会混得太差。那像他们说的,我转了性?我仔细想过,不是。不是我转了性,而是我找到了自己的位置。其实很多 ……

编程 培训
2019年06月04日 18点07分 作者:叶飞 修改

源栈培训:C#进阶-3:Lambda表达式

看看这个例子,能不能:想进行加法运算的时候就加法,想乘法的时候就乘法?static void AICaculate(int a, int b){Console.WriteLine("I'm AI caculator, let me try:");Add(a, b);//Multiple(a, b);}static void Add(int a, int b){Console.WriteLine($"it's so easy, {a}+{b}={a + b}");}static void Multiple( ……

源栈培训 C# 语法 Lambda
2019年06月04日 15点45分 作者:叶飞 修改

转行做程序员,应该知道这些

很多同学就私信/QQ问我类似问题,问多了答多了,其实问题就那么几个,翻来覆去的回答好像太无聊了点。所以总结并自问自答如下:1、该不该转行?我自己都迷茫着呢!所以只能给个很不靠谱的答案:当你实在实在无法选择的时候,希望这段话能帮到你!·一起帮2、IT是个挺大的范畴,究竟是怎么分类的?Good Question. 能问这个说明还真是用了点心思,做了点功课的。我大致的非常粗糙的回答一下:首先,IT分硬件和软件。硬件就是看得见摸得着的这些东西,一般都是工厂生产出来的,比如电脑、路由器、打印机之类的,估计绝大部分同 ……

编程
关键字



帮助

反馈