当前位置: 首页 > news >正文

用pc机做网站并让外网搜到淮南市城乡建设局网站

用pc机做网站并让外网搜到,淮南市城乡建设局网站,浦江做网站,国精产品w灬源码1688说明初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github#xff1a;codetoys#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的#xff0c;可以在任何平台上使用。 源码指引#xff1a;github源…初级代码游戏的专栏介绍与文章目录-CSDN博客 我的githubcodetoys所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的可以在任何平台上使用。 源码指引github源码指引_初级代码游戏的博客-CSDN博客 C#是我多年以来的业余爱好新搞的东西能用C#的就用C#了。 接上一篇继续研究排序问题。上一篇WinUI3入门15DataGrid排序-CSDN博客 前一篇使用OrderBy对指定列排序如果要同时对多列排序或许可以用一串OrderBy来实现因为OrderBy是稳定排序如果相等不会改变相对顺序。 但是首先写一串OrderBy相当繁琐效果存在不确定性依赖算法特性其次多次排序性能可能存在问题当然这都不是关键问题。 关键问题是这不符合完全自定义这个目标。传统上指C我们用传递一个比较函数或函数对象的方法来实现自定义的排序规则在C#同样可以通过传递特定的接口来实现。 目录 一、Enumerable.Order 方法 二、ICompare 三、设计通用的比较接口 一、Enumerable.Order 方法 ObservableCollection实现了IEnumerableT 接口因此可以用Order方法进行排序。Order方法接受一个IComparerT参数 public static System.Linq.IOrderedEnumerableT OrderT (this System.Collections.Generic.IEnumerableT source, System.Collections.Generic.IComparerT? comparer); 很明显这个ICompareT就是用作比较的方法所以问题就归结为编写ICompareT。 二、ICompareT ICompareT要求如下 public int Compare (T? x, T? y); 这个我们看着很眼熟返回值也很眼熟0代表相等大于0代表xy小于0代表xy跟我们传统的x-y是一样的。 三、设计通用的比较接口 通常为了多列比较我们需要下面的信息 哪些列用作比较这些列的比较顺序优先级每个列的比较方法字符串、数值、升序降序 因为这里是直接用属性比较那么字符串还是数值是不需要额外记录的所以要记住的就是列和升序降序我们可以用下面的类来描述 public class SortColumn{public String name ;public bool sortOrderAscending true;//false Descending}再定义一个列表就可以描述列的顺序了 public ListSortColumn sortColumns new();现在我们考虑把描述规则放在一个类里而具体的比较由类自身的方法来实现。理论上通过上一篇用的动态类型PropertyInfo处理是可以实现完美的通用比较类的不过有时候自定义一下也没什么不好可能更简单、更高效。 整个通用部分如下 public interface IMyOrderT where T : IMyOrderT{int CompareTo(MyOrderT order, T tmp);}public class MyOrderT : System.Collections.Generic.IComparerT where T : IMyOrderT {public class SortColumn{public String name ;public bool sortOrderAscending true;//false Descending}public ListSortColumn sortColumns new();public MyOrder(){}//清除排序规则public void ClearSortColumn(){sortColumns.Clear();}//指定进行排序的列public void SetSortColumn(String colname){SortColumn? sortColumn null;int index -1;if (sortColumns.Count ! 0){for (int i 0; i sortColumns.Count; i){SortColumn tmpColumn sortColumns[i];if (tmpColumn.name colname){sortColumntmpColumn;sortColumns.Remove(tmpColumn);index i;}}}if (null sortColumn){sortColumn new SortColumn();sortColumn.name colname;sortColumns.Add(sortColumn);}else{if (0 index) sortColumn.sortOrderAscending !sortColumn.sortOrderAscending;sortColumns.Insert(0, sortColumn);}}public int Compare(T? x, T? y){if(nullx nully)return 0;if (null x) return -1;if(nully)return 1;return x.CompareTo(this, y);}}前面定义了一个接口IMyOrderT用来由实际的数据实现比较函数。而MyOrderT的IComparerT的实现“public int Compare(T? x, T? y)”则调用IMyOrderT的CompareTo来实现真正的比较。 最复杂的是SetSortColumn要检查是否是已经存在的排序列最新点击的排第一如果连续点击第一个就改变正序逆序。 数据那边则要增加对IMyOrderT的实现 public class Data : INotifyPropertyChanged, IMyOrderData{。。。。。。public int CompareTo(MyOrderData order,Data tmp){for (int i 0; i order.sortColumns.Count; i){int ret 0;MyOrderData.SortColumn sortColumn order.sortColumns[i];if (sortColumn.name Dir) ret _dir.CompareTo(tmp._dir);if (sortColumn.name File) ret _file.CompareTo(tmp._file);if (sortColumn.name Ext) ret _ext.CompareTo(tmp._ext);if (sortColumn.name Type) ret _type.CompareTo(tmp._type);if (sortColumn.name Encode) ret _encode.CompareTo(tmp._encode);if (sortColumn.name BOM) ret _bom.CompareTo(tmp._bom);if (sortColumn.name CR) ret _cr.CompareTo(tmp._cr);if (sortColumn.name CRLF) ret _crlf.CompareTo(tmp._crlf);if (sortColumn.name LF) ret _lf.CompareTo(tmp._lf);if (sortColumn.name Length) ret _length.CompareTo(tmp._length);if (sortColumn.name State) ret _state.CompareTo(tmp._state);if (!sortColumn.sortOrderAscending) ret -ret;if (0 ! ret) return ret;}return 0;}}主代码中的主要过程 MyOrderData myOrder new();//Sorting事件添加排序列myOrder.SetSortColumn(e.Column.Header.ToString());排序newdatas datas.Order(myOrder);这里是文档结束
http://www.zqtcl.cn/news/544487/

相关文章:

  • 创业网站建设方案项目书手机app设计软件
  • 建设端午节网站的目的主题wordpress语法高亮插件
  • 做网站开发使用百分比的好处深圳建设网站公司简介
  • 行距网站上海专业网站建设机构
  • 闵行手机网站建设鲅鱼圈规划建设局网站
  • 合肥市城乡和建设网站网页设计与网站建设区别
  • 青岛网站建设企业建站北京网站模仿
  • 广州建设网站的公司简介湛江建设厅网站
  • 做网站不赚钱了网站关键词排行查询
  • 印度人通过什么网站做国际贸易三门峡做网站
  • 网站排名快速提升工具招远建网站首选公司
  • 手机网站格式商城网游开发公司
  • 手机怎样创建网站长春网站建设哪家专业
  • 做pop网站定制开发教程
  • 成都响应式网站建报告问题
  • 做设计找素材的+网站有哪些建立平台什么意思
  • 网站设置在哪里找宁德网站建设制作
  • logo网站设计素材品牌高端网站建设公司
  • 芙蓉区乡建设局网站郑州网站建设qicaizz
  • 网站建设的缺陷个人网站制作图片
  • 四川省建设厅注册管理中心网站设计上海2021门票
  • 帝国cms做微网站人力资源公司怎么开
  • 网站建设学徒松江品划做网站公司
  • 灯饰网站需要这么做深圳专业网站设计公司
  • 政务网站设计wordpress 嵌入html5
  • 移动网站 pc网站的区别吗网站建设工厂
  • 有意义网站织梦圈子如何调用网站默认模板
  • 南京公司网站模板建站网页制作中的网站维护
  • 微信分享 淘宝网站 怎么做wordpress访问慢
  • 网站后台制作沈阳营销型网站制作技术