C#需要将一个数组数组传递给另一个表单

时间:2012-02-15 18:24:55

标签: c# .net winforms

我想将一个数组数组传递给另一个Form

String[] arrayOfStrings = new String[4];
arrayOfStrings[0] = td1stcolumn[];
arrayOfStrings[1] = td2ndcolumn[];
arrayOfStrings[2] = td3rdcolumn[];
arrayOfStrings[3] = td4thcolumn[];
string resultDialogString = ResultDialog.ShowBox(arrayOfStrings, "Result Page");

td1stcolumn,td2ndcolumn,td3rdcolumn和td4thcolumn都是字符串数组

C#期望[]中的值为td ...列

ResultDialog.ShowBox的签名是

public static string ShowBox(string[] arrayOfMessages, string txtTitle)

但我可以修改签名。我只需要从

传输数据

td1stcolumn,td2ndcolumn,td3rdcolumn和td4thcolumn

到ResultDialog.Show方法

2 个答案:

答案 0 :(得分:2)

假设您已经声明了这样的“td”变量:

string[] td1stcolumn;
string[] td2ndcolumn;
string[] td3rdcolumn;
string[] td4thcolumn;

然后您可以将这些值分配给arrayOfStrings,如下所示:

arrayOfStrings[0] = td1stcolumn;
arrayOfStrings[1] = td2ndcolumn;
arrayOfStrings[2] = td3rdcolumn;
arrayOfStrings[3] = td4thcolumn;

您还需要将字符串数组的声明更改为:

// an array of arrays.  Each array must be the same length.
// your situation calls for a jagged array though.
string[,] arrayOfStrings;

// jagged array. each array can be of varying length.
string[][] arrayOfSTrings; 

Multi-Dimentional Array Documentation

Jagged Array Documentation

Jagged Array用法示例:

string[][] arr = new string[2][];

arr[0] = new [] {"a", "b", "c", "d"};
arr[1] = new [] {"a", "b", "c", "d"};

答案 1 :(得分:0)

好像你可能更适合多维数组...

// declare
String[,] multiArray = new String[4,4];

// use
string s = multiArray[2,2];