2017-03-10 5 views
1

Ich möchte ein solches Objekt dynamisch erstellen, um es mit einem Winkeldiagramm zu verwenden. Erstellen Sie ein dynamisches Objekt für das eckige Diagramm

[{ 
id:0, 
name: 'WI', 
type: 'NI', 
labels: ["January", "February", "March", "April", "May", "June", "July"], 
data: [[28, 48, 40, 19, 86, 27, 90]] 
}]; 

Ich habe eine Klasse Linechart genannt:

public class LineChart 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public string[] Labels { get; set; } 
    public int[] Data { get; set; } 
} 


public async Task<HttpResponseMessage> GetInformation() 
    { 
     try 
     { 

      string[] labels = new string[7] {"January", "February", "March", "April", "May", "June", "July"}; 
      int[] numbers = new int[] { 28, 48, 40, 19, 86, 27, 90 }; 

      List<LineChart> line = new List<LineChart>(); 
      LineChart linechart = new LineChart(); 
      linechart.Id = 0; 
      linechart.Name = "WI"; 
      linechart.Data = numbers; 
      linechart.Labels = labels; 

      line.Add(linechart); 
      return Request.CreateResponse(HttpStatusCode.OK, line); 
     } 
     catch (SqlException) 
     { 
      return Request.CreateErrorResponse(
       HttpStatusCode.ServiceUnavailable, 
       "The service is temporarily unavailable. Please try again at a later time."); 
     } 
     catch (Exception e) 
     { 
      return Request.CreateErrorResponse(HttpStatusCode.BadRequest, e); 
     } 
    } 

Das Problem mit der Daten ist, ich habe es in einer Form wie folgt aus: [28, 48, 40, 19, 86, 27, 90] warum sollte doppelte Klammern zwischen wie [[28, 48, 40, 19, 86, 27, 90]] sein.

Was ist der beste Weg, um Ihre Daten zwischen doppelten Klammern zu bekommen? Wie [[und hier meine Daten geht]]

+0

, wenn Sie doppelt wollen '[[' das bedeutet, es würde in einem anderen Array ein Array sein? Was Sie für Data deklariert haben, ist ein Array von int public int [] Data {get; einstellen; } ' – maximedubois

+0

Was ist der beste Weg, dies zu tun? – Walter

+0

Warum brauchen Sie ein Array innerhalb eines anderen, wenn Data Ihre ganzen Zahlen enthalten soll, so wie es eigentlich ist? – maximedubois

Antwort

2

von Kommentaren hier empfangen, wie ich es tun würde:

string[] labels = new string[7] {"January", "February", "March", "April", "May", "June", "July"}; 
     int[] numbers = new int[] { 28, 48, 40, 19, 86, 27, 90 }; 
     var arrayHolder = new List<int[]>(); 
     arrayHolder.Add(numbers); 

     List<LineChart> line = new List<LineChart>(); 
     LineChart linechart = new LineChart(); 
     linechart.Id = 0; 
     linechart.Name = "WI"; 
     linechart.Data = arrayHolder.ToArray(); 
     linechart.Labels = labels; 
Verwandte Themen