2016-07-21 1 views
-2

내가# 컬렉션

public class Datas 
    { 
     public string Name { get; set; } 
     public int Value { get; set; } 
    } 
public void Funnel() 
    { 
     string commandText = "select sc.stagename, count(cs.stages_id) as StageCount from currentstage cs inner join stagesconfig sc on cs.stages_id = sc.stages_id group by cs.stages_id,sc.stagename"; 


     string constrings = WebConfigurationManager.ConnectionStrings["Data"].ToString(); 

     SqlConnection myConn = new SqlConnection(constrings); 
     SqlCommand myComm = new SqlCommand(commandText, myConn); 

     myConn.Open(); 
     List<Datas> fruitinfo = new List<Datas>(); 

     SqlDataReader reader = myComm.ExecuteReader(); 
     if (reader.HasRows) 
     { 
      while (reader.Read()) 
      { 
       fruitinfo.Add(new Datas 
       { 
        Name = reader.GetValue(0).ToString(), 
        Value = Convert.ToInt32(reader.GetValue(1)) 
       }); 

      } 

     } 

당신의 형태로 array.the 배열이 비슷해야합니다에 저장 fruitinfo 목록을 통해 루프 항목을 대체 할 form.intended 어떻게 클래스 및 방법을 데이터에 fruitinfo와 괄호 목록

Data = new Data(new object[] 
       { 
        new object[] { "Website visits", 10000 }, 
        new object[] { "Downloads", 5000 }, 
        new object[] { "Requested price list", 2000 }, 
        new object[] { "Invoice sent", 1000 }, 
        new object[] { "Finalized", 500 } 
       }), 
+4

은 왜 []'모든 추한'객체가 필요합니까? –

답변

1
var myArray = fruitinfo.Select(d => new object[] { d.Name, d.Value }).ToArray(); 
+2

당신은 7 초 더 빨리 ... – smoksnes

2
var myArray = fruitinfo.Select(x => new object[] { x.Name, x.Value }).ToArray(); 

그리고 당신의 Data -obje의 사용에 그것을 루프 ct. 익명 객체의 배열을 생산해야하는 이유

Data = new Data(myArray); 
+0

완벽하게 ... 고마워요. –

0

는 나도 잘 모르겠지만, 당신은 사전을 사용할 수 있습니다.

private static void Funnel() 
    { 
     var datas = new List<Datas> 
         { 
          new Datas { Name = "Website visits", Value = 10000 }, 
          new Datas { Name = "Downloads", Value = 5000 }, 
          new Datas { Name = "Requested price list", Value = 2000 }, 
          new Datas { Name = "Invoice sent", Value = 1000 }, 
          new Datas { Name = "Finalized", Value = 500 } 
         }; 

     var data = datas.ToDictionary(datas1 => datas1.Name, datas1 => datas1.Value); 
     foreach (var item in data) 
     { 
      Console.WriteLine(string.Format("{0}, {1}",item.Key, item.Value)); 
     } 

     var arry = data.ToArray(); 
     foreach (var item in arry) 
     { 
      Console.WriteLine(string.Format("{0}, {1}", item.Key, item.Value)); 
     } 
    } 

Output