- 博客(4)
- 收藏
- 关注
原创 C# Pattern Matching (is vs switch)
可以加上vechicle字段或者属性作为判断条件的一部分,比如我假设Car类在乘客大于5的时候才会收费: Car {Passengers:>=5} c => 2.00m,分别对Xnullable和yBoxed进行判断,结果为真之后赋值给Local Variable a和b。C#中可以通过 is 或者 switch 匹配各种各样的Pattern。run-time type 是nullable T。Caculator 类。
2023-06-12 10:42:29
362
原创 C# yeild 语法糖
迭代器不只是一种遍历集合的方式(这只是最简单的用例之一),相反迭代器是返回序列的一种方式。这个序列甚至可能是无限的,或者单次的operation的cost很巨大比如load item,process。比如返回质数的list,我们没有办法返回一个无限长度的列表并使用前100个项。返回一个集合与返回一个即迭代是完全不同的概念。可以看到Helper每次只处理一条鱼,就会交给Cheif进行处理,而不是把5条鱼都处理完了之后,一块返回做处理。我们可以给每条鱼的处理加上2s的处理时间,使用。
2023-06-08 16:45:05
195
原创 istream_iterators VS ostream_iterators的区别
in返回的是一个右值,即我们无法通过istream_iterators对输入流本身进行修改。out返回的是一个左值,即我们可以写入到ostream中去。
2023-06-04 12:10:57
83
1
原创 istream_iterator 不可重用
可以看出在初始化的时候,in1指向文件流的首元素,in2指向了第二个元素,当我们再次使用in1去输出整个文件流的时候,跳过了in2所指的元素,输出了 1,3,4,5。且in1和in2是相等的,因为他们指向了同一个文件流。在第一次遍历完成之后,in1被自动充值为文件流对象的首元素位置,但是此时如果再使用它进行遍历,就会发现它并不能展示其他元素,而是只能打印出一个首元素1.先看一个正常使用的例子: (2.txt里面保存了一个数组{1,2,3,4,5},使用输入流把数字依次输出)
2023-06-04 11:29:05
87
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人