C# 是否可以内联获取数组长度

C# 是否可以内联获取数组长度,c#,arrays,dictionary,C#,Arrays,Dictionary,我必须通过从我创建的内联数组中获取的键访问字典值,如下所示: var someString = "1.2.3"; someDictionary[someString.Split('.').ToArray()[ /---> self.Length <---/ - 1 ]]; 问题:是否可以在不创建新变量并为其分配数组的情况下内联获取数组长度?您不能这样做。如果要访问变量两次,则需要在变量中存储中间值。 我认为在没有额外变量的情况下尝试这样做是没有意义的——至少,你的方法是完全不可读的

我必须通过从我创建的内联数组中获取的键访问字典值,如下所示:

var someString = "1.2.3";
someDictionary[someString.Split('.').ToArray()[ /---> self.Length <---/ - 1 ]];

问题:是否可以在不创建新变量并为其分配数组的情况下内联获取数组长度?

您不能这样做。如果要访问变量两次,则需要在变量中存储中间值。 我认为在没有额外变量的情况下尝试这样做是没有意义的——至少,你的方法是完全不可读的

但是,据我所知,通过[self.Length-1]您希望访问此数组中的最后一个值

如果是,则您可以使用:


没有答案,但是。Split已经给出了一个数组…是的,你如何得到数组长度@EpicKip@PavelSanatov代码的目标是什么?为什么需要阵列的长度?您能用文字描述一下您在这里使用someString和someDictionary做什么吗?在我的示例someString.Split'.'中,我如何获得长度。ToArray[/-->self.length好的,所以使用Linq更容易阅读此问题的解决方案。
var someString = "1.2.3";
someDictionary[someString.Split('.').Last()]; // someDictionary["3"]