我在让用户将其值保存到数组中时遇到了一些麻烦,这是我尝试过的代码: 我希望能够存储最多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;
我是数组的新手,这真的很难。提前谢谢!
答案 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);