List<MyClass>使用的问题
时间:2011-12-23
来源:互联网
C# code
class Keyword { public int StartIndex; public int EndIndex; public int Count; public string KeyWordString; }
然后我想用C# code
public List<Keyword> IndexResultList;
但是如果IndexResultList.Contains(item) 如果item的KeyWordString在IndexResultList中存在 就算包含
是要重写哪个方法?
还有一个问题 是如果IndexResultList.Sort()时候 想按照Count来sort是重写哪个方法
求一个简单的实例
作者: hypnoz2012spring 发布时间: 2011-12-23
作者: sunzongbao2007 发布时间: 2011-12-23
作者: sunzongbao2007 发布时间: 2011-12-23
public bool ResultContains(Keyword item)
{
return IndexResultList.Any(0=>o.KeyWordString = item.KeyWordString) ;
}
作者: ruanwei1987 发布时间: 2011-12-23
class Keyword:IComparable { public int StartIndex; public int EndIndex; public int Count; public string KeyWordString; /// <summary> /// 小于零 此对象小于 CompareTo 方法指定的对象。 /// 零 此对象等于方法参数。 /// 大于零 此对象大于方法参数。 /// </summary> /// <param name="obj"></param> /// <returns></returns> public int CompareTo(object obj) { if (obj is Keyword) { Keyword other = obj as Keyword; return this.StartIndex - other.StartIndex; //if you want to compare KeyWordString ,do next //return this.KeyWordString.CompareTo(other.KeyWordString); } else { throw new InvalidCastException(); } } }
作者: sunzongbao2007 发布时间: 2011-12-23
作者: sunzongbao2007 发布时间: 2011-12-23
作者: qiuyu820968 发布时间: 2011-12-23
IndexResultList.OrderBy(x => x.Count); //升序 IndexResultList.OrderByDescending(x => x.Count);//降序 Keyword item=new Keyword (); if (IndexResultList.Count(x => x.KeyWordString.ToUpper().Equals(item.KeyWordString.ToUpper())) > 0) {//表示IndexResultList这个集合中字段KeyWordString等于item的KeyWordString的实体个数大于0 //也就是你所说的IndexResultList中就算包含这个item这个元素 }
作者: cykb518 发布时间: 2011-12-23
C# code
protected void Page_Load(object sender, EventArgs e) { List<Keyword> IndexResultList = new List<Keyword>(); for (int i = 0; i < 10; i++) { Keyword keyword = new Keyword(); keyword.KeyWordString = i.ToString(); if (i == 5) keyword.KeyWordString = "cat"; IndexResultList.Add(keyword); } Predicate<Keyword> p = new Predicate<Keyword>(ABC); Response.Write(IndexResultList.Exists(p)); } private bool ABC(Keyword keyword) { if (keyword.KeyWordString == "cat") return true; else return false; } class Keyword { public int StartIndex; public int EndIndex; public int Count; public string KeyWordString; }
作者: dalmeeme 发布时间: 2011-12-23
C# code
List<Keyword> IndexResultList = new List<Keyword>(); for (int i = 0; i < 10; i++) { Keyword keyword = new Keyword(); keyword.KeyWordString = i.ToString(); if (i == 5) keyword.KeyWordString = "cat"; IndexResultList.Add(keyword); } Response.Write(IndexResultList.Exists(delegate(Keyword keyword) { if (keyword.KeyWordString == "cat") return true; else return false; } )); } class Keyword { public int StartIndex; public int EndIndex; public int Count; public string KeyWordString; }
作者: dalmeeme 发布时间: 2011-12-23
作者: sunzongbao2007 发布时间: 2011-12-23
作者: cykb518 发布时间: 2011-12-23
后一个sort问题:
C# code
protected void Page_Load(object sender, EventArgs e) { List<Keyword> IndexResultList = new List<Keyword>(); for (int i = 0; i < 10; i++) { Keyword keyword = new Keyword(); keyword.Count = 10 - i; keyword.KeyWordString = i.ToString(); IndexResultList.Add(keyword); } Comparison<Keyword> c = new Comparison<Keyword>(DEF); IndexResultList.Sort(c); foreach (Keyword keyword in IndexResultList) Response.Write(keyword.Count + "<br/>"); } private int DEF(Keyword keyword1, Keyword keyword2) { if (keyword1.Count > keyword2.Count) return 1; else if (keyword1.Count < keyword2.Count) return -1; else return 0; } class Keyword { public int StartIndex; public int EndIndex; public int Count; public string KeyWordString; }
作者: dalmeeme 发布时间: 2011-12-23
C# code
protected void Page_Load(object sender, EventArgs e) { List<Keyword> IndexResultList = new List<Keyword>(); for (int i = 0; i < 10; i++) { Keyword keyword = new Keyword(); keyword.Count = 10 - i; keyword.KeyWordString = i.ToString(); IndexResultList.Add(keyword); } IndexResultList.Sort(delegate(Keyword keyword1, Keyword keyword2) { if (keyword1.Count > keyword2.Count) return 1; else if (keyword1.Count < keyword2.Count) return -1; else return 0; }); foreach (Keyword keyword in IndexResultList) Response.Write(keyword.Count + "<br/>"); } class Keyword { public int StartIndex; public int EndIndex; public int Count; public string KeyWordString; }
作者: dalmeeme 发布时间: 2011-12-23
如果允许也可以是用扩展方法或者LINQ
作者: jiezi316 发布时间: 2011-12-23
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28