用另一个数组填充C#数组
我试图用字符串数组的值填充我的第一列。 我正在使用下面的代码。它不起作用,因为我打算使用它。它抛出“对象引用未设置为对象的实例”。有人能解释一下我做错了什么,并提出正确的方法吗用另一个数组填充C#数组,c#,arrays,C#,Arrays,我试图用字符串数组的值填充我的第一列。 我正在使用下面的代码。它不起作用,因为我打算使用它。它抛出“对象引用未设置为对象的实例”。有人能解释一下我做错了什么,并提出正确的方法吗 private static int i = 0; public static string[] names = new string[] { "cmd", "EUI", "ts", "fcnt", "port", "freq", "dr", "ack", "gws", "data" }; public static s
private static int i = 0;
public static string[] names = new string[] { "cmd", "EUI", "ts", "fcnt", "port", "freq", "dr", "ack", "gws", "data" };
public static string[,] jdata;
static void Main(string[] args) {
while (i++ < names.Length) {
jdata[i,0] = names[i];
}
}
private static int i=0;
公共静态字符串[]名称=新字符串[]{“cmd”、“EUI”、“ts”、“fcnt”、“port”、“freq”、“dr”、“ack”、“gws”、“data”};
公共静态字符串[,]jdata;
静态void Main(字符串[]参数){
while(i++
jdata为空
private static int i = 0;
public static string[] names = new string[] { "cmd", "EUI", "ts", "fcnt", "port", "freq", "dr", "ack", "gws", "data" };
public static string[,] jdata = new string[names.Length, 1];
static void Main(string[] args)
{
while (i++ < names.Length)
{
jdata[i, 0] = names[i];
}
}
private static int i=0;
公共静态字符串[]名称=新字符串[]{“cmd”、“EUI”、“ts”、“fcnt”、“port”、“freq”、“dr”、“ack”、“gws”、“data”};
公共静态字符串[,]jdata=新字符串[names.Length,1];
静态void Main(字符串[]参数)
{
while(i++
jdata为空
private static int i = 0;
public static string[] names = new string[] { "cmd", "EUI", "ts", "fcnt", "port", "freq", "dr", "ack", "gws", "data" };
public static string[,] jdata = new string[names.Length, 1];
static void Main(string[] args)
{
while (i++ < names.Length)
{
jdata[i, 0] = names[i];
}
}
private static int i=0;
公共静态字符串[]名称=新字符串[]{“cmd”、“EUI”、“ts”、“fcnt”、“port”、“freq”、“dr”、“ack”、“gws”、“data”};
公共静态字符串[,]jdata=新字符串[names.Length,1];
静态void Main(字符串[]参数)
{
while(i++
您需要先初始化jdata
数组。作为参数,您可以使用名称
数组的长度和所需的列数
另外,如果i
变量在开始时为0,则应在向新数组添加名称后将其递增,否则会出现索引超出范围异常
private static int i = 0;
public static string[] names = new string[] { "cmd", "EUI", "ts", "fcnt", "port", "freq", "dr", "ack", "gws", "data" };
public static string[,] jdata;
static void Main(string[] args) {
jdata = new string[names.Length, 1];
while (i < names.Length) {
jdata[i,0] = names[i];
i++;
}
}
private static int i=0;
公共静态字符串[]名称=新字符串[]{“cmd”、“EUI”、“ts”、“fcnt”、“port”、“freq”、“dr”、“ack”、“gws”、“data”};
公共静态字符串[,]jdata;
静态void Main(字符串[]参数){
jdata=新字符串[names.Length,1];
while(i
您需要先初始化jdata
数组。作为参数,您可以使用名称
数组的长度和所需的列数
另外,如果i
变量在开始时为0,则应在向新数组添加名称后将其递增,否则会出现索引超出范围异常
private static int i = 0;
public static string[] names = new string[] { "cmd", "EUI", "ts", "fcnt", "port", "freq", "dr", "ack", "gws", "data" };
public static string[,] jdata;
static void Main(string[] args) {
jdata = new string[names.Length, 1];
while (i < names.Length) {
jdata[i,0] = names[i];
i++;
}
}
private static int i=0;
公共静态字符串[]名称=新字符串[]{“cmd”、“EUI”、“ts”、“fcnt”、“port”、“freq”、“dr”、“ack”、“gws”、“data”};
公共静态字符串[,]jdata;
静态void Main(字符串[]参数){
jdata=新字符串[names.Length,1];
while(i
要在方法中使用对象,必须先实例化它!
您的数组jdata
的值为null
,因此您无法访问它
首先初始化它并给它适当的尺寸,这样就可以清楚地知道需要提前获取多少内存:
public static string[,] jdata = new string[names.Length, 1];
另外,如果您想按原样使用while循环,则需要从i
at-1开始。否则,您将跳过第一个条目。您应该只运行到names.Length-1
while (i++ < names.Length-1)
{
jdata[i, 0] = names[i];
}
这有两个优点:
1) 保存在列中的列表可以有不同的长度
2) 您可以随意删除和添加值
要访问第一列,只需使用[]
运算符:
List<string> savednames = jdata[0];
List savednames=jdata[0];
要在方法中使用对象,必须先实例化它!
您的数组jdata
的值为null
,因此您无法访问它
首先初始化它并给它适当的尺寸,这样就可以清楚地知道需要提前获取多少内存:
public static string[,] jdata = new string[names.Length, 1];
另外,如果您想按原样使用while循环,则需要从i
at-1开始。否则,您将跳过第一个条目。您应该只运行到names.Length-1
while (i++ < names.Length-1)
{
jdata[i, 0] = names[i];
}
这有两个优点:
1) 保存在列中的列表可以有不同的长度
2) 您可以随意删除和添加值
要访问第一列,只需使用[]
运算符:
List<string> savednames = jdata[0];
List savednames=jdata[0];
尝试使用列表
private static int i = 0;
public static string[] names = new string[] { "cmd", "EUI", "ts", "fcnt", "port", "freq", "dr", "ack", "gws", "data" };
public static List<string>[] jdata = new List<string>[names.Length];
static void Main(string[] args)
{
for (int j = 0; j < names.Length; j++) jdata[j] = new List<string>();
while (i < names.Length)
{
jdata[i].Add(names[i]);
i++;
}
Console.ReadKey();
}
private static int i=0;
公共静态字符串[]名称=新字符串[]{“cmd”、“EUI”、“ts”、“fcnt”、“port”、“freq”、“dr”、“ack”、“gws”、“data”};
公共静态列表[]jdata=新列表[names.Length];
静态void Main(字符串[]参数)
{
对于(intj=0;j
尝试使用列表
private static int i = 0;
public static string[] names = new string[] { "cmd", "EUI", "ts", "fcnt", "port", "freq", "dr", "ack", "gws", "data" };
public static List<string>[] jdata = new List<string>[names.Length];
static void Main(string[] args)
{
for (int j = 0; j < names.Length; j++) jdata[j] = new List<string>();
while (i < names.Length)
{
jdata[i].Add(names[i]);
i++;
}
Console.ReadKey();
}
private static int i=0;
公共静态字符串[]名称=新字符串[]{“cmd”、“EUI”、“ts”、“fcnt”、“port”、“freq”、“dr”、“ack”、“gws”、“data”};
公共静态列表[]jdata=新列表[names.Length];
静态void Main(字符串[]参数)
{
对于(intj=0;j
在尝试使用I之前,您需要初始化jdata。如果不知道最终大小,如何初始化?静态字符串[,]jdata=新字符串[,]{}代码>可能重复的@Rapsoulhs在这种情况下,我想你需要使用一个列表。在你尝试使用它之前,你需要初始化jdata。如果我不知道最终的大小,我该如何初始化?static string[,]jdata=new string[,]{}代码>可能重复的@Rapsoulhs在这种情况下,我认为您需要使用一个列表在这种情况下,我的数组的大小为[10,1],这是我不想要的。我希望[10,x]中的x稍后会被填充。@rapsoulhs:那么唐