c#中二维数组是怎么查找的

a807300072 2010-08-24 04:29:51
在一维数组中可以用 indexof 然后找出所在的位置,那么二维数组中用什么来查所在的位置?
循环对比当然可以查,不过这样耗费资源。
...全文
885 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuxingyuan 2011-08-25
  • 打赏
  • 举报
回复
system.ARRY .INDEXOF(A,K);
usups 2011-02-19
  • 打赏
  • 举报
回复
遍历比较慢,还是用indexof比较好。
加油馒头 2010-08-25
  • 打赏
  • 举报
回复
貌似 indexof 原理 也是数组遍历
Peter200694013 2010-08-24
  • 打赏
  • 举报
回复

int[,] arr = new int[2, 3] {{1,2,3},{4,5,6} };

int rows = arr.GetLength(0);
int cols = arr.GetLength(1);

var p = from i in arr.Cast<int>() select i;

int[] tmparr = p.ToArray<int>();

int k = 5;

int index = Array.IndexOf(tmparr, k);

int ii = index / cols;
int jj = index % cols;
Console.WriteLine("index is {0},{1}", ii, jj);
Peter200694013 2010-08-24
  • 打赏
  • 举报
回复
如果确定一个元素的位置还是遍历吧
wanghui0380 2010-08-24
  • 打赏
  • 举报
回复
c#的数组操作是最弱的一项。其他常规操作都和未优化的c++处在同一数量级上,唯独数组操作要差一个数量级,所以在实际项目中很少有人使用数组操作
wuyq11 2010-08-24
  • 打赏
  • 举报
回复
int [,] array = new int [2,2];
var p= from i in array.Cast< int >() where i > 2 select i;
var value = from v in array [i] select v;
int s = Array.FindIndex(value.ToArray(), v => v.Equals(value.Max()));
wuyq11 2010-08-24
  • 打赏
  • 举报
回复
private static IEnumerable<T> F<T>(T[,] array, int row)
{
return from col in Enumerable.Range(array.GetLowerBound(1), array.GetLength(1))
select array[row, col];
}
wuyq11 2010-08-24
  • 打赏
  • 举报
回复
string[,] array = new string[4, 4];

var result= from str in array.Cast<string>()
where int.Parse(str) > 1
select str;
wangxixiang 2010-08-24
  • 打赏
  • 举报
回复
等待牛人的出现
a807300072 2010-08-24
  • 打赏
  • 举报
回复
没人会吗

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧