2016-07-04 4 views
2

Ich brauche ein String-Array in einem 2-dimensionalen char-ArrayC# konvertieren String-Array zu 2-dimensionalen char-Array

Beispiel konvertieren: Array Meine String sieht aus wie

string[] months = {"January", "February", "March"....}; 

ich es in eine konvertierende char[,] so etwas wie diese (nicht sicher Syntax)

char[][] = { 
    {'J','a','n','u','a','r','y'}, 
    {'F','e','b','r','u','a','r','y'}, 
    {'M','a','r','c','h'} 
}; 

was ist der beste Weg, um dies zu erreichen?

+2

A 'char [,]' ist ein * * rechteckigen Array, jede Dimension die gleiche Länge hat Bedeutung. Dies ist in Ihrem Beispiel nicht der Fall. Sie könnten es in ein 'char [] []' –

+0

umwandeln, welche Art von 2D-Array erwartet Ihre DLL? '[,]' oder '[] []'? im ersten Fall müssten Sie wahrscheinlich die fehlenden Elemente mit leeren Strings füllen –

+0

Ja .. meine schlechte .. DLL erwartet 2D-Array von Form [] [] .. Ich werde die Frage bearbeiten .. –

Antwort

5

Sie können dies tun:

string[] months = { "January", "February", "March" }; 
char[][] result = months.Select(item => item.ToArray()).ToArray(); 
+0

@Gilad grün Ich muss 2D char Array als Parameter an eine der Funktionen von DLL übergeben, so dass diese Option nicht funktioniert für mich .. aber danke für Ihre Mühe zu helfen .. –

+3

@ChaitanyaArawakar das wird Ihnen 2d Array von char, was Sie suchen. Verwenden Sie 'char [] [] result =' anstelle von 'var' –

0

wie diese versuchen,

string[] months = {"January", "February", "March"}; 

char[][] jaggedOfChar =new char[3][]; 

for (int i = 0; i < months.Length; i++) 
{ 
    char[] s = months[i].ToCharArray(); 
    jaggedOfChar[i] = s; 
}