我有一个数组,我想获得存储在数组中的每个维的长度。即我想类似以下内容:使用LINQ来获得数组的长度的长度
Array myArray = //...Blah blah myArray is defined somewhere in code
int[] dimLengths = myArray.SomeLinqStatement...
我可以与一些for循环(一个或多个),但我希望会有一个简单的LINQ语句做到这一点。因此,例如,如果myArray是2x3x4的3D数组,我希望dimLengths为{2,3,4}。
出于好奇,是什么让你“确定”非linq方式更好? – KrisTrip 2012-04-10 16:46:27
经验,加上对LINQ工作方式的理解。 LINQ版本与其他版本做了相同的事情,再加上两个额外的操作:它需要生成一系列要处理的整数,并且它需要将一个IEnumerable转换为一个数组。有关该问题的知识的代码几乎总是比没有这些知识的代码快。 – 2012-04-10 16:52:17
@KendallFrey:但是这种差异可以忽略不计(当然在这种情况下)。那么可读性应该始终是首选。 – 2012-04-10 16:54:00