怎样提高网站打开速度慢,h5制作免费素材,哪里做百度网站,小程序登录代码Dotnet里#xff0c;数据定位和匹配的相关编程现在变得很舒服。最近项目紧#xff0c;还要不停出差。所以#xff0c;写个短点的、最近经常用到的内容#xff1a;数据定位和匹配。数据定位假设我们有这样一个数组#xff1a;var array new int[] { 1, 2, 3, 4, 5, 6, 7, … Dotnet里数据定位和匹配的相关编程现在变得很舒服。 最近项目紧还要不停出差。所以写个短点的、最近经常用到的内容数据定位和匹配。 数据定位假设我们有这样一个数组var array new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
我们取某个位置的值以前的做法通常是int x array[4];
int y array[array.Length - 1];
现在我们有了一个专门用于定位的结构System.Index。注意这是一个结构。所以取特定位置的数据可以写成这样Index index new Index(4, fromEnd: false);
int x array[index];
或者直接合并成int x array[new Index(4, false)];看一下Index的第二个参数fromEnd很明显就是这个计数是从前往后还是从后往前计数的一个标志。所以从尾计数可以写成int y array[new Index(1, true)];
这儿要稍注意一下从后往前计数索引值1是最后一个数据索引值0指出去了会报错。我们可以把这个数字想象成array.length-x里的x。另外在fromEnd值为true时即从后往前计数时Index提供了一个简单的写法Index index ^1;额外的知识点这个Index可以用在很多需要定位的地方。看个例子string s Hello WangPlus;
char a s[new Index(4)];
char b s[^2];为了防止不提供原网址的转载特在这里加上原文链接https://abc.com数据范围有定位就会有范围。还是上面的例子var array new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
通常我们取一个范围的数据会这么取var x array.Skip(3).Take(2);
或者用个循环我就不写了。 这儿又有一个神奇的结构System.Range。Range r new Range(3, 5);
var xx array[r];
结果跟上面array.Skip(3).Take(2)是一样的。这里Range(Index start, Index end)里两个参数就是上一节的Index。另外开始索引是包含的结束索引是不包含的。这儿需要注意一下。 这里又有一个简单的写法。Range(3,5)可以简单写为3..5。所以代码可以简化为Range r 3..5;
var xx array[r];
省去定义就变成var xx array[3..5];
这个写法还可以延伸出var xx array[3..]; //从第3个数据到最后
var xx array[..5]; //从头到第4个数据(注意后面是不包含)
var xx array[..]; //全部
var xx array[0..^0]; //全部同Index一样这个Range也可以用在各种需要范围的地方例如string s Hello WangPlus;
string a s[3..5];
数据匹配还是拿例子来说。假设我们有下面的一个类定义class Employee
{public int Id { get; set; }public string Name { get; set; }public int Age { get; set; }
}
使用中我们生成了一个实例var employee new Employee() { Id 1, Name John Doe, Age 0 };
然后我们逻辑中需要一些条件判断通常我们可能这么写if(employee.Age 0) {}
if(employee.Name ! null) {}现在我们有了更具有可读性的写法。简单比较if(employee.Age is 0) {}
if(employee.Name is null) {}
if(employee.Name is not null) {}
类型检查并创建实例if(employee is Employee emp)
{emp.Age 5;
}
属性比较if (employee is { Age: 3 }) {}
if (employee is { Age: 30, Name: aaa }) {}
if (employee is { Age: 25 }) {}
自己感觉属性比较是写着最痛快的终于不用一长串的了。 这就是今天的内容了。有没有Get到爽点喜欢就来个三连让更多人因你而受益