C#:数组的高级索引(如在Matlab,NumPy中),没有像LINQ

时间:2016-05-19 20:45:04

标签: c# arrays numpy

所以我刚开始使用Matlab / Python背景的C#。我最想念的是高级索引查询,例如:

a = [1 2 3 4;5 6 7 8];
b = a[2,2:4]; // Gives: b = [6 7 8];

在C#(以及大多数其他编程语言)中,我有几种可能实现这一目标:

  • 通过使用循环。高维数组将产生大量(类似)代码
  • 使用LINQ:一个很大的库,语法对我来说似乎很麻烦而且很慢。
  • 扩展数组like here on dotnetperls.com,但这不会对括号运算符起作用,但更接近这个想法
  • 编写自己的课程,但是我无法从System.Array继承

所以对我来说,看起来应该是"可行的"对数组实现这样的调用:

b = a["1,1:3"]; // compare to example above, just 0-based indexing here

所以我想做的是

  1. 重载Array类/从Array类继承一个类(因此它仍然是通用的)
  2. 使用字符串解析
  3. 添加自定义bracket indexing

    无需编写太多代码。我错过了什么吗?

    请注意:对我而言,这不仅仅是一项实际任务。所以我知道我可以使用Python并编译代码。我只是想知道它是否有可能,如果是的话,哪种方式是最好的。

0 个答案:

没有答案