2015-02-23 230 views
0

我想創建一個與我已經創建的現有列表相對應的字符串列表。我現在的功能是這樣的:根據另一個列表的值創建一個列表c#

public List<string> HeatGet(int HeatNumbers, List<string> List) 
    { 
     string HeatString; 
     List<string> HeatStringList = new List<string>(); 
     int ListLength = List.Count; 
     int HeatAssignValue = ListLength/HeatNumbers; 

     for (int i = 0; i < ListLength; i++) 
     { 
      HeatString = "T" + i; 

     } 


     return HeatStringList; 


    } 

我想分裂名單成取決於HeatNumbers段,然後將每個列表將包括基於一個值,例如,如果我的列表中有10項和HeatNumbers是2,那麼新列表的前5個值應該有T1,最後5個值應該有T2。但是HeatNumbers是用戶定義的,並且可能會發生變化。

編輯: 如果HeatNumbers = 2

的List1 = {約翰,亞歷克斯,哈利,詹姆斯,喬治,喬安妮} 列表2 = {T1,T1,T1,T2,T2,T2}

+0

我不明白最終名單應該怎麼看起來像寫這樣的: 列表1:'第一,秒,third' 列表2:'第一,秒,第三個' – 2015-02-23 18:30:50

+0

@OrenHaliva更新爲顯示列表 – 2015-02-23 18:35:18

+0

當第一個列表大小爲5且heatsnumber爲2時應該發生什麼? – 2015-02-23 18:48:59

回答

1

只是需要一個度算法來計算段:

public List<string> HeatGet(int heatNumbers, List<string> list) 
    { 
     List<string> heatStringList = new List<string>(); 
     for (int i = 0; i < list.Count; i++) 
     { 
      heatStringList.Add("T" + Math.Ceiling((i + 1) * (float)heatNumbers/list.Count)); 
     } 
     return heatStringList; 
    } 
+0

正是我在找的,謝謝 – 2015-02-23 19:17:50

相關問題