Span复习
Span复习
using System; namespace Span复习
{
class Program
{
static void Main(string[] args)
{
//Console.WriteLine("Hello World!");
//IntroSpans();
//var span1 = IntroSpans(); //CreatSlices(span1); int[] int1 = {,,,,,,,,,,};
int[] int2 = {,,,,,,};
var span1 = new Span<int>(int1);
var span2 = new Span<int>(int2);
ChangeValues(span1,span2);
} //使用Span<T>,可以直接访问数组元素。数组的元素没有复制,但是它们可以直接使用,这比复制要快。
private static Span<int> IntroSpans()
{
int[] arr1 = new int[] {,,,,,};
var span1 = new Span<int>(arr1);
span1[] = ;
System.Console.WriteLine($"arr1[1] is changed via span[1]: {arr1[1]}");
System.Console.WriteLine($"span1[1]: {span1[1]}");
return span1; } //创建切片
private static void CreatSlices(Span<int> span1)
{
System.Console.WriteLine(nameof(CreatSlices));
int[] arr2 = {,,,,,,};
//var span2 = new Span<int>(arr2);
var span3 = new Span<int>(arr2,start:,length:);
var span4 = span1.Slice(start:,length:); DisplaySpan("Content of span3:",span3);
DisplaySpan("Content of span4:" ,span4);
System.Console.WriteLine(); } //DisplaySpan()用于显示Span的内容
private static void DisplaySpan(string title,ReadOnlySpan<int> span)
{
System.Console.WriteLine(title);
for(int i = ;i<span.Length;i++)
{
System.Console.Write($"{span[i]} "); }
System.Console.WriteLine(); } //使用Span改变值
private static void ChangeValues(Span<int> span1,Span<int> span2)
{
System.Console.WriteLine(nameof(ChangeValues));
var span4 = span1.Slice(start:);
span4.Clear();//清除了span1从第5位开始后面的数,并用数0填充
DisplaySpan("content of span1",span1);
var span5 = span2.Slice(start:,length:);
span5.Fill();//span2从第4位开始的三位,用数42来填充
DisplaySpan("content of span2",span2);
span5.CopyTo(span1);
DisplaySpan("content of span1",span1);
if(!span1.TryCopyTo(span4))
{
System.Console.WriteLine("Couldn't copy span1 to span4 because span4 is to small ");
System.Console.WriteLine($"length of span1: {span1.Length},length of span4: {span4.Length} "); }
System.Console.WriteLine(); }
}
}
使用Span改变值事例输出如下
ChangeValues
content of span1 content of span2 content of span1 Couldn't copy span1 to span4 because span4 is to small
length of span1: ,length of span4:
Span复习的更多相关文章
- 《CSS权威指南》基础复习+查漏补缺
前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...
- jQuery 复习
jQuery 复习 基础知识 1, window.onload $(function(){}); $(document).ready(function(){}); 只执行函数体重的最后一个方法,事 ...
- css重点章节复习—布局-边框-边距-浮动 (部分)
css重点章节复习—布局-边框-边距-浮动 在第二个任务中,这一块的后面那条线真的弄了很久.起初也是在html里面写的代码.之后觉得这样不好,想到第一个页面中用到的border-bottom和bord ...
- Jquery 复习练习(01)
Jquery 复习练习 window.onload = function() {} == $(function() {}); 千万注意:js对象和jq对象的区别,这也是常常犯的错误 js对象举例: w ...
- html 复习
通过几次修改网页的经历,发现相关基础知识之薄弱,不得不再次花时间复习一遍.希望这是最后一次. 一 通用声明 HTML5 <!DOCTYPE html> HTML 4.01 <!DOC ...
- 23----2013.07.01---Div和Span区别,Css常用属性,选择器,使用css的方式,脱离文档流,div+css布局,盒子模型,框架,js基本介绍
01 复习内容 复习之前的知识点 02演示VS创建元素 03div和span区别 通过display属性进行DIV与Span之间的转换.div->span 设置display:inline ...
- span 右浮动折行 解决ie6/7中span右浮动折行问题
A floated box is shifted to the left or right until its outer edge touches the containing block edge ...
- ②jquery复习
# jQuery 复习--by 传智前端与移动开发学院 ## 1. jQuery是什么?(了解)+ www.github.com+ jQuery 其实就是一堆的js函数,是普通的js,只不过应用广泛, ...
- 复习上学期的HTML+CSS(1)
自己跟着网上教程复习上学期的HTML+CSS,因为已经忘得差不多了,而且现在学的js也要以HTML+CSS为基础,坚持每天持续更新. n B/S 网络结构 Browser/Server 浏览器/ ...
随机推荐
- python生成词云
上代码: # -*- coding: utf-8 -*- # @Time : 19-1-10 上午10:27 # @Author : Felix Wang import jieba # pip ins ...
- 2440sd初始化(存储器控制器寄存器的设置)
#define mem_contrl 0x48000000 //13个寄存器的基地址(看做一个内存块)init_sdram: ldr r0, =mem_contrl / ...
- SSM 整合 ehcache spring 配置文件报错
添加 <!-- end MyBatis使用ehcache缓存 --> <cache:annotation-driven cache-manager="cacheManage ...
- LayuiAdmin 单页版关闭当前页面tab的方式-图文
需要关闭的时候 调用 parent.layui.admin.events.closeThisTabs() 即可执行当前页面的关闭 $.post("/index.php/WebAdmin/Wx ...
- mint-ui 做省市选择组件
省市的数据是动态的,其实不是动态的更好搞 <!-- 省市选择 --> <mt-popup v-model="popupVisible" position=&quo ...
- 标准ACL详解
- #C++初学记录(贪心算法#二分查找)
D - Aggressive cows 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x1,...,xN (0 < ...
- Thingsboard Gateway开发环境
源码下载地址:https://github.com/thingsboard/thingsboard-gateway 国内大神源码地址:https://github.com/guodaxia103/th ...
- QTextToSpeech Win7奔溃
在linux下,它是调用speech-dispatcher.在其它不同的平台上,调用各自平台的TTS引擎.所以在使用的时候,要确保本地的TTS引擎是可用的. 本地TTS引擎不可用可能会在声明QText ...
- VC++ 返回13位时间戳(Unix时间戳)
//获取13位时间戳 CString GetUnixTime() { CString nowTime; SYSTEMTIME sysTime; GetLocalTime(&sysTime); ...