C#学习笔记- 浅谈数组复制,排序,取段,元组
来源:本站原创|时间:2020-01-10|栏目:C#教程|点击: 次
C#学习笔记- 浅谈数组复制,排序,取段,元组
using System; using System.Collections.Generic; namespace Application { class Test { static void Main () { //元组类型Tuple是静态类型,用静态方法创建实例,超过8个元素则第8个元素是元组类型 var tupe = Tuple.Create<int,int,string,string> (1, 2, "a", "b"); Console.WriteLine ("{ 0},{ 1}",tupe.Item1, tupe.Item3); //=====Array类是抽象类,只能通过它的静态方法CreateInstance()创建实例 //=====如果事先不知道类型,可以用此方法 Array arrays = Array.CreateInstance (typeof(int), 5); for (int i = 0; i < arrays.Length; i++) { arrays.SetValue (35, i); Console.WriteLine (arrays.GetValue (i)); } Person[] persons = { new Person { firstName = "su", lastName = "uifu" }, new Person { firstName = "chen", lastName = "xaohua" }, new Person { firstName = "cbb", lastName = "ruifu" }, new Person { firstName = "utt", lastName = "xiaohua" } } ; //=====Clone()复制数组,引用类型复制索引值,值类型复制值 Person[] persons1 = persons.Clone (); Array.Sort (persons, new PersonComparer (PersonCompareType.lastName)); foreach (var p in persons) { Console.WriteLine (p); } //======ArraySegment<T>对数组取段==== var segments = new ArraySegment<Person> (persons, 1, 2); for (int i = segments.Offset; i < segments.Offset + segments.Count; i++) { Console.WriteLine (segments.Array [i]); } } public class Person { public string firstName{ get; set; } public string lastName{ get; set; } public override string ToString () { return String.Format ("{ 0},{ 1}", firstName, lastName); } } //======要对引用类型的数组使用Array.sort()方法,必须对类实现IComparable<T>接口 //======或写一个附加类并实现Comparer<T>接口 public enum PersonCompareType { firstName, lastName } public class PersonComparer:IComparer<Person> { private PersonCompareType pct; public PersonComparer (PersonCompareType pct) { this.pct = pct; } public int Compare(Person x,Person y) { if (x == null) throw new ArgumentNullException (); if (y == null) throw new ArgumentNullException (); switch (pct) { case PersonCompareType.firstName: return x.firstName.CompareTo (y.lastName); case PersonCompareType.lastName: return x.lastName.CompareTo (y.lastName); default: throw new ArgumentException ("no.."); } } } }
以上这篇C#学习笔记- 浅谈数组复制,排序,取段,元组就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
栏 目:C#教程
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/6284.html
您可能感兴趣的文章
- 01-10C#影院售票系统毕业设计(1)
- 01-10轻松学习C#的运算符
- 01-10轻松学习C#的基础入门
- 01-10轻松学习C#的装箱与拆箱
- 01-10轻松学习C#的预定义数据类型
- 01-10轻松学习C#的foreach迭代语句
- 01-10轻松学习C#的读写操作
- 01-10轻松学习C#的String类
- 01-10轻松学习C#的ArrayList类
- 01-10轻松学习C#的密封类
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-11ajax实现页面的局部加载
- 01-10C#中split用法实例总结
- 04-02jquery与jsp,用jquery
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10delphi制作wav文件的方法
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10SublimeText编译C开发环境设置