我定义了这个数组:
string[] emailAddress = {};
我要做的是将项添加到此数组中,如下所示:
emailAddress[] = de.Properties["mail"][0].ToString();
我得到一个无法将字符串转换为数组错误。如何将项添加到数组中?
答案 0 :(得分:4)
string[] emailAddress = new string[1]; // initialize it to a length of 1
emailAddress[0] = de.Properties["mail"][0].ToString(); // assign the string to position 1
如果您不知道运行时的长度,那么请使用通用List并在之后进行转换。
var emailAddress = new List<string>();
emailAddress.Add(de.Properties["mail"][0].ToString());
var myArray = emailAddress.ToArray(); // create an array from the list
我建议您阅读本文,了解如何在c#(或其他一些教程)中使用数组。 https://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx
答案 1 :(得分:3)
您必须先使用固定大小初始化数组:
string[] emailAddress = new string[5]; // array with 5 items
然后你可以添加这样的项目:
emailAddress[0] = de.Properties["mail"][0].ToString();
但是考虑是否可以使用更灵活的List<string>
。
答案 2 :(得分:3)
根据您的评论必须一个数组并且不能成为一个列表,这可能就是您所需要的。
使用特定长度实例化数组。像这样的东西
string[] emailAddress = new string[emailAddressde.Properties["mail"].Length];
然后你可以通过
之类的东西进行循环for (var i = 0; i < de.Properties["mail"].Length; i++)
emailAddress[i] = de.Properties["mail"][i].ToString();
填充emailAddress
数组。
答案 3 :(得分:0)
您需要引用数组中的某个位置,您要做的是将您的值指定为数组。
emailAddress[0] = de.Properties["mail"][0].ToString();
答案 4 :(得分:0)
如果您知道阵列的大小,那么您可以将阵列初始化为静态大小。例如,如果您知道电子邮件数组将只有2个项目(索引0和1),那么您可以将数组初始化为此大小
string [] emailAddress = string [2];
如果数组中的项目未知(有多少个电子邮件地址),您应该使用其他内容,例如
列出emailAddresses = new List();
这样的事情:
List<string> emailAddresses = new List<string>();
emailAddresses.Add("youremail@mail.com");
emailAddresses.ToArray();