在
Python中我可以写
def myMethod(): #some work to find the row and col return (row,col) row,col = myMethod() mylist[row][col] # do work on this element
但是在C#中,我发现自己写出来
int[] MyMethod() { // some work to find row and col return new int[] { row,col } } int[] coords = MyMethod(); mylist[coords[0]][coords[1]] //do work on this element
Pythonic方式是非常清洁.有没有办法在C#中做到这一点?
解决方法
.NET中有一组
Tuple类:
Tuple<int,int> MyMethod() { // some work to find row and col return Tuple.Create(row,col); }
但是没有紧凑的语法来解压缩它们,如Python中的那样:
Tuple<int,int> coords = MyMethod(); mylist[coords.Item1][coords.Item2] //do work on this element