2017-07-10 65 views
-3

我必須通過密鑰來訪問Dictionary<TKey, TValue>值(即我從陣列我創建在線獲得),像這樣:是否有可能得到數組長度直列

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

問:是否有可能得到數組長度內聯而不創建新變量併爲其分配數組?

+2

不要有你,但.Split(答案)已經給出了一個數組... – EpicKip

+0

是啊,你怎麼數組長度? @EpicKip –

+1

@PavelSanatov你的代碼的目標是什麼?爲什麼你需要數組的長度?你能用文字描述你在用someString和someDictionary在做什麼嗎? –

回答

3

你不能這樣做。如果要訪問兩次,則需要將中間值存儲在變量中。
我看不出沒有其他變量的嘗試做到這一點 - 至少,你的方法是絕對不可讀的。

但是,據我所知,通過[self.Length - 1]你想訪問這個數組中的最後一個值。

如果是的話,那麼你可以只使用LINQ .Last

var someString = "1.2.3"; 
someDictionary[someString.Split('.').Last()]; // someDictionary["3"] 
相關問題