Span复习

  1. using System;
  2.  
  3. namespace Span复习
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. //Console.WriteLine("Hello World!");
  10. //IntroSpans();
  11. //var span1 = IntroSpans();
  12.  
  13. //CreatSlices(span1);
  14.  
  15. int[] int1 = {,,,,,,,,,,};
  16. int[] int2 = {,,,,,,};
  17. var span1 = new Span<int>(int1);
  18. var span2 = new Span<int>(int2);
  19. ChangeValues(span1,span2);
  20. }
  21.  
  22. //使用Span<T>,可以直接访问数组元素。数组的元素没有复制,但是它们可以直接使用,这比复制要快。
  23. private static Span<int> IntroSpans()
  24. {
  25. int[] arr1 = new int[] {,,,,,};
  26. var span1 = new Span<int>(arr1);
  27. span1[] = ;
  28. System.Console.WriteLine($"arr1[1] is changed via span[1]: {arr1[1]}");
  29. System.Console.WriteLine($"span1[1]: {span1[1]}");
  30. return span1;
  31.  
  32. }
  33.  
  34. //创建切片
  35. private static void CreatSlices(Span<int> span1)
  36. {
  37. System.Console.WriteLine(nameof(CreatSlices));
  38. int[] arr2 = {,,,,,,};
  39. //var span2 = new Span<int>(arr2);
  40. var span3 = new Span<int>(arr2,start:,length:);
  41. var span4 = span1.Slice(start:,length:);
  42.  
  43. DisplaySpan("Content of span3:",span3);
  44. DisplaySpan("Content of span4:" ,span4);
  45. System.Console.WriteLine();
  46.  
  47. }
  48.  
  49. //DisplaySpan()用于显示Span的内容
  50. private static void DisplaySpan(string title,ReadOnlySpan<int> span)
  51. {
  52. System.Console.WriteLine(title);
  53. for(int i = ;i<span.Length;i++)
  54. {
  55. System.Console.Write($"{span[i]} ");
  56.  
  57. }
  58. System.Console.WriteLine();
  59.  
  60. }
  61.  
  62. //使用Span改变值
  63. private static void ChangeValues(Span<int> span1,Span<int> span2)
  64. {
  65. System.Console.WriteLine(nameof(ChangeValues));
  66. var span4 = span1.Slice(start:);
  67. span4.Clear();//清除了span1从第5位开始后面的数,并用数0填充
  68. DisplaySpan("content of span1",span1);
  69. var span5 = span2.Slice(start:,length:);
  70. span5.Fill();//span2从第4位开始的三位,用数42来填充
  71. DisplaySpan("content of span2",span2);
  72. span5.CopyTo(span1);
  73. DisplaySpan("content of span1",span1);
  74. if(!span1.TryCopyTo(span4))
  75. {
  76. System.Console.WriteLine("Couldn't copy span1 to span4 because span4 is to small ");
  77. System.Console.WriteLine($"length of span1: {span1.Length},length of span4: {span4.Length} ");
  78.  
  79. }
  80. System.Console.WriteLine();
  81.  
  82. }
  83. }
  84. }

使用Span改变值事例输出如下

  1. ChangeValues
  2. content of span1
  3.  
  4. content of span2
  5.  
  6. content of span1
  7.  
  8. Couldn't copy span1 to span4 because span4 is to small
  9. length of span1: ,length of span4:

Span复习的更多相关文章

  1. 《CSS权威指南》基础复习+查漏补缺

    前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...

  2. jQuery 复习

    jQuery 复习 基础知识 1, window.onload $(function(){});   $(document).ready(function(){}); 只执行函数体重的最后一个方法,事 ...

  3. css重点章节复习—布局-边框-边距-浮动 (部分)

    css重点章节复习—布局-边框-边距-浮动 在第二个任务中,这一块的后面那条线真的弄了很久.起初也是在html里面写的代码.之后觉得这样不好,想到第一个页面中用到的border-bottom和bord ...

  4. Jquery 复习练习(01)

    Jquery 复习练习 window.onload = function() {} == $(function() {}); 千万注意:js对象和jq对象的区别,这也是常常犯的错误 js对象举例: w ...

  5. html 复习

    通过几次修改网页的经历,发现相关基础知识之薄弱,不得不再次花时间复习一遍.希望这是最后一次. 一 通用声明 HTML5 <!DOCTYPE html> HTML 4.01 <!DOC ...

  6. 23----2013.07.01---Div和Span区别,Css常用属性,选择器,使用css的方式,脱离文档流,div+css布局,盒子模型,框架,js基本介绍

    01 复习内容 复习之前的知识点 02演示VS创建元素 03div和span区别 通过display属性进行DIV与Span之间的转换.div->span 设置display:inline   ...

  7. span 右浮动折行 解决ie6/7中span右浮动折行问题

    A floated box is shifted to the left or right until its outer edge touches the containing block edge ...

  8. ②jquery复习

    # jQuery 复习--by 传智前端与移动开发学院 ## 1. jQuery是什么?(了解)+ www.github.com+ jQuery 其实就是一堆的js函数,是普通的js,只不过应用广泛, ...

  9. 复习上学期的HTML+CSS(1)

    自己跟着网上教程复习上学期的HTML+CSS,因为已经忘得差不多了,而且现在学的js也要以HTML+CSS为基础,坚持每天持续更新. n  B/S 网络结构   Browser/Server 浏览器/ ...

随机推荐

  1. 【caffe I/O】数据变换器(图像的预处理部分) 代码注释

    caffe.proto中TransformationParameter部分 // Message that stores parameters used to apply transformation ...

  2. 2018-2019-2 网络对抗技术 20165212 Exp6 信息搜集与漏洞扫描

    2018-2019-2 网络对抗技术 20165212 Exp6 信息搜集与漏洞扫描 原理与实践说明 1.实践原理 信息搜集:渗透测试中首先要做的重要事项之一,搜集关于目标机器的一切信息 间接收集 D ...

  3. 覆盖elementui样式

    前台以表格形式展示后台数据,图片或视频点击后弹出框播放,用el-dialog实现. 希望播放视频的时候不显示dialog的背景那些. 尝试 scoped 无果 <style lang=" ...

  4. JWT签名算法

    JWT签名算法 JWT签名算法中,一般有两个选择,一个采用HS256,另外一个就是采用RS256. 签名实际上是一个加密的过程,生成一段标识(也是JWT的一部分)作为接收方验证信息是否被篡改的依据. ...

  5. python 二维码

    pip3 install Pillow pip3 install qrcode import qrcode text ="gisoracle我爱你呀" #input("输 ...

  6. Python_Openpyxl 浅谈(最全总结 足够初次使用)

    https://blog.csdn.net/weixin_43094965/article/details/82226263 import datetime from random import ch ...

  7. 第2课第1节_Java面向对象编程_类的引入_P【学习笔记】

    摘要:韦东山android视频学习笔记 1. 面向对象编程的引入,我们先写一个简单的程序输出张三,李四的名字.代码如下,假如,现在我们要在名字前面添加籍贯广东,那样岂不是每个printf语句都得修改添 ...

  8. TP5 分页数据加锚点

      TP5 分页数据加锚点跳转到相应位置   有这样一个需求,就是加载评论后,点下一页的时候回到相应的位置.  $comment = Db('comment')->order('addtime' ...

  9. 004 JpaRepository,CrudRepository,PagingAndSortingRepository的区别

    很多程序都在使用,CrudRepository或者PagingAndSortingRepository,但是以前自己的程序使用的是JpaRepository,然后查了一下材料,记录一下. 1.类图 2 ...

  10. stringstream用法

    stringstream用法 1.头文件:#include<sstream> 2.stringstream是C++提供的串流(stream)物件,其中: clear()重置流的标志状态:s ...