比如有如下代码:
public class aaa
{
public int a { set; get; }
public string b { set; get; }
} private void button1_Click(object sender, EventArgs e)
{
List <aaa> jj = new List <aaa>();
jj.Add(new aaa { a = 5, b = "ee" });
jj.Add(new aaa { a = 3, b = "ete" });
jj.Add(new aaa { a = 15, b = "aa" });
jj.Add(new aaa { a = 3, b = "dd" }); //现在我想用indexof查找jj的a列中=15的索引值
}
public class aaa
{
public int a { set; get; }
public string b { set; get; }
} private void button1_Click(object sender, EventArgs e)
{
List <aaa> jj = new List <aaa>();
jj.Add(new aaa { a = 5, b = "ee" });
jj.Add(new aaa { a = 3, b = "ete" });
jj.Add(new aaa { a = 15, b = "aa" });
jj.Add(new aaa { a = 3, b = "dd" }); //现在我想用indexof查找jj的a列中=15的索引值
}
解决方案 »
- 错误提示:无法加载 DLL“TSHDll”: 动态链接库(DLL)初始化例程失败。 (异常来自 HRESULT:0x8007045A)
- 新人求助关于c#控件问题
- treeview click事件的一点小疑问
- listview控件工作在 View.Details模式下,不出现垂直滚动条?
- SQL触发器问题
- 怎么样把ArrayList转换成DataSet
- 打开文件对话框加入图片预览的功能 (100分求助)
- 请问强名称工具sn.exe哪里有下载
- 谁知道,.Net,C# 源代码外国资源网站和论坛。
- listview添加行添加不上
- FIREFOX浏览器是否支持asp.net的网站?
- 怎样在.net上传内显示路径?
{
public aaa(int a,string b)
{
this.a = a;
this.b = b;
}
public int a { set; get; }
public string b { set; get; }
public override bool Equals(object obj)
{
aaa demo = obj as aaa;
if (demo == null)
return false;
return this.a.Equals(demo.a);
}
}这样的话,当类aaa的两个实例的a相等时,这两个对象就相等. List<aaa> jj = new List<aaa>();
private void Form1_Load(object sender, EventArgs e)
{
jj.Add(new aaa (5,"ee" ));
jj.Add(new aaa (3,"ete"));
jj.Add(new aaa (15,"aa"));
jj.Add(new aaa (3,"dd" ));
} private void button1_Click(object sender, EventArgs e)
{
aaa demo=new aaa(3,"");
MessageBox.Show(jj.IndexOf(demo).ToString());
}
public class aaa
{
public int a { set; get; }
public string b { set; get; }
} private void button1_Click(object sender, EventArgs e)
{
List <aaa> jj = new List <aaa>();
jj.Add(new aaa { a = 5, b = "ee" });
jj.Add(new aaa { a = 3, b = "ete" });
jj.Add(new aaa { a = 15, b = "aa" });
jj.Add(new aaa { a = 3, b = "dd" });
//这样不可以吗?
int jj_index=0;
foreach(aaa var in jj)
{
jj_index++;
if(var.a==15)
break;
}
}
不用遍历是因为本身取出的索引,就是用于一系列复杂的嵌套中,且用到的地方很多,遍历是很不方便的自己封装或者chen_xiangguo的重写也可以,不过。我想知道有没有比较直接的方法,因为我刚学,很多东西还不熟悉,防止自己写了半天,原来有直接可以用的方法,呵呵where和linq是不错的方法,但也稍微绕了一下下,呵呵主要还是为了学习。刚接触到了一点lambda表达式,不知道是否可以直接用于indexof? =>的表达式似乎很难懂,看了一头雾水,可能写多了会慢慢体会到吧。网上查了一下也有jj.FindAll(n=>n.indexof("aa")>=0)的写法,有点意思,但不是很懂
jj.FindIndex(n => n.a == 15);