在Perl中,可以执行以下操作
($a, $b, $c) = split(',', "aaa,bbb,ccc");
有没有人知道C#中是否有等价物而不是以下内容?
var elements = "aaa,bbb,ccc".Split(',');
var a = elements[0];
var b = elements[1];
var c = elements[2];
或者是否可以更简洁地完成上述操作?
答案 0 :(得分:3)
没有。在C#中,无法在单个赋值表达式中分配多个变量。你肯定需要单独的变量而不是数组吗?
也许如果你给了我们更广泛的背景,我们或许可以建议一个更好的解决整体问题的方法 - 通常如果你试图以一种不同语言的方式处理任务,你最终会陷入混乱代码,这可能就是这种情况。
答案 1 :(得分:2)
在C#中没有其他方法可以做到这一点。 但是.net中有希望 - 即F#:D 有了这个,你可以做到
let [| a; b; c |] = "aaa,bbb,ccc".Split(',')
答案 2 :(得分:0)
仍然不是一个完美的解决方案,但是使用C#7,我们可以使用元组解构:
var elements = "aaa,bbb,ccc".Split(',');
var (a, b, c) = (elements[0], elements[1], elements[2]);