2017-02-21 69 views
0

我需要打破保存逗號分隔字符串值如何打破具有SecureInt64值的逗號分隔字符串?

string ids = "P_0vyx5RVcWblbdw6pql5w~~, BAW1G8b3FuRhR0REQ1JtDw~~" 

這些值實際上是SecureInt64。 我需要一個集合中打破,我想類似下面

var t = ids.Split(',').ToList().OfType<SecureInt64>(); 

但這不是破集合。

當我指着t與破發點,它說

'Enumeration yielded no results' 

進一步,我需要在Unselcure的ID,這樣的翻譯,

t.Select(k => k.UnsecureValue).ToList() 
+1

我認爲被稱爲's'的字符串,你試圖在'ids'上分割只是寫錯問題時出錯?否則,這個分割字符串對我來說很好。 SecureInt64是一個自定義類嗎?我以前沒聽說過。 – Equalsk

+0

不,我的錯誤實際上是ids,請讓我糾正它。 –

+4

'OfType '只會返回那種類型爲'T'的對象,並且因爲您的集合是'List ''字符串之間沒有隱式轉換'和'SecureInt64'。這就是爲什麼你得到空集。 –

回答

2

您需要一種方法來轉換SecureInt64的字符串。

var t = ids.Split(',') 
      .Select(ToSecureInt64) 
      .Select(k => k.UnsecureValue) 
      .ToList(); 

private SecureInt64 ToSecureInt64(string value) 
{ 
    // logic needed to translate a string to SecureInt64. 
} 
+1

這不會編譯,因爲你已經使用了返回'void'的方法,並試圖將它放入'Func '類型中。沒有提到它不是一個答案,而只是不相關的部分。 –

+0

正如您在對問題的評論中指出的那樣,直到我們獲得更多信息,我們無法填寫邏輯來幫助進行轉換。這回答了發佈的問題的其餘部分,同時隔離了我們目前無法提供的部分。 –