2016-07-21 8 views
-2

私はあなたfruitinfoリストをループがarray.the配列は、これに類似していなければならないの形式での保存は、アイテムを交換するform.intendedんどのクラスとメソッドC#のコレクションをループ

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)) 
       }); 

      } 

     } 

を持っていますデータに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

関連する問題