变量列出C#中的赋值?

mpe*_*pen 1 c# syntax

在PHP中你可以写

$arr = array(1,2);
list($a, $b) = $arr;
Run Code Online (Sandbox Code Playgroud)

这基本上相当于

$a = $arr[0];
$b = $arr[1];
Run Code Online (Sandbox Code Playgroud)

C#中有等价物吗?


只是惹我生气,因为我经常写这样的东西

var split = action.Split('.');
string controllerName = split[0];
string actionName = split[1];
Run Code Online (Sandbox Code Playgroud)

而且split这只是一个丢失的变量,我永远不会想到一个像样的名字."chunk","bits","pieces","parts",......都是毫无意义的乱语.

Joe*_*nos 5

您可以编写自己的方法,例如:

int[] arr = new[] { 1, 2 };

int a, b;
Populate(arr, out a, out b);

static void Populate<T>(T[] arr, out T t1, out T t2)
{
    t1 = arr[0];
    t2 = arr[1];
}
Run Code Online (Sandbox Code Playgroud)

我不推荐它,但是......你必须要小心拥有正确数量的参数,我不认为有办法做任意大小 - C#有"params数组"的概念在签名中,但我认为你不能用"out"参数来做.