让用户将值存储到字符串数组C#中

时间:2016-01-11 12:02:31

标签: c# arrays

我在让用户将其值保存到数组中时遇到了一些麻烦,这是我尝试过的代码: 我希望能够存储最多4个对象,然后使用null重置它们,如果可能的话。

string [] array = new string[4];
array[i] += Console.ReadLine(); //and now it says: Cannot implicitly convert
 type 'string' to 'int'. I also want to reset the value with this code:

array[i] = null;

我是数组的新手,这真的很难。提前谢谢!

2 个答案:

答案 0 :(得分:0)

问题出在i变量中,其类型为string,而不是int。您需要在数组中为索引器使用整数值。

此外,没有理由使用+=运算符。只需使用=将数值赋给数组元素。

var index = int.Parse(i); // the better way is to use TryParse to check your i string contains integer value
array[index] = Console.ReadLine();

答案 1 :(得分:-1)

在我看来,您正在尝试使用名称索引数组。如果是这样,我会改为使用Dictionary

var key = "MyValueKey";  //I presume this is currently your "i" value
var dict = new Dictionary<String, String>();
var userVal = Console.ReadLine();
if (String.IsNullOrWhitespace(userVal))
    userVal = null;
if (dict.ContainsKey(key))
    dict[key] = userVal;
else
    dict.Add(key, userVal);