2017-08-17 67 views
-5

這是我的結果:如何將這些「var」結果分配給不同的變量?

enter image description here

大家好。

我希望將這些結果分配到不同的變量上。

例如;

stringone = "Etiler"; 
stringtwo = "Kağıthane"; 
stringthree = "Şişli"; 
+2

你所問的是,在所有 – maccettura

+0

@maccettura不清楚:判斷通過屏幕截圖,提問者正在循環訪問1列數據庫結果集,並且想要分配ea的值排到不同的獨立命名變量。 – camelCase

+0

好吧,然後讓我這樣說。先看圖片。我從數據庫中提取一些數據,將許多結果返回到一個「var」變量中。但我需要將這些從數據庫返回的結果賦值給字符串變量。所以我需要每個結果到自己的變量。我說清楚了嗎? –

回答

-1

C#是強類型變量必須在編譯時定義的,所以你不能在運行時動態創建變量。 但是,您可以使用集合來保存結果。

使用列表:

var result = db.servis.Where(s => ...).ToList(); 
// access first element: 
var first = result.ElementAt(0); 

使用數組:

var result = db.servis.Where(s => ...).ToArray(); 
// access first element: 
var first = result[0]; // here "0" is the array index 

使用詞典:

var result = db.servis.Where(s => ...) 
    .Select((item, index) => new {index, item}) 
    .ToDictionary(x => "string" + (x.index + 1), x => x.item); 
// access first element: 
var first = result["string1"]; // here "string1" is the key of the key value pair 
+0

我能想到的唯一原因就是你的推理。這不是不可能的,因爲C#是強類型的,這是不可能的,因爲你不能在運行時創建變量。 (只是爲了澄清我不是那個低估了你的人) –

+0

我該如何添加DISTINCT到「var result = db.servis.Where(s => ...)。ToList();」 –

+0

您可以使用LINQ'Distinct()':'var result = db.servis.Where(s => ...)。Distinct()。ToList();'。在這種情況下,它將使用默認的[IEqualityComparer](https://msdn.microsoft.com/en-us/library/ms132151(v = vs.110).aspx),您也可以傳遞一個自定義的。 –

相關問題