把信息放在我的阵列上给了我“;System.String[]”;其中,作为我的数组的另一部分,给出了所需的信息.c#
本文关键字:信息 我的 数组 另一部 其中 一部分 阵列 String System | 更新日期: 2023-09-27 18:28:42
我的程序运行良好,除了一个问题"System.String[]"我是c#编程的新手,这是我在大学课程中的第一个主要任务。我问过我的一些朋友和老师(但都无济于事,因为他们只是说如果这与作业有关,他们就无能为力了)我不知道我在代码中哪里出了问题。基本上,名称输入在可以显示的列表中显示得很好,但数组的第二部分只显示了"System.String[]"。然而,我觉得它与下面的代码有问题,因为我一直在玩它,试图看看哪里出了问题,但却一无所获。
static void AddDetails()
{
string nameInput;
string licensePlateInput;
string parkingSlot;
Console.WriteLine("Enter the guest's name");
nameInput = Console.ReadLine();
Console.WriteLine("enter the guest's license plate");
licensePlateInput=Console.ReadLine();
parkingSlot=Convert.ToString(licensePlate);
int nextAvailableSlot = FindSlot("");
if (nextAvailableSlot != -1)
{
name[nextAvailableSlot] = nameInput;
licensePlate[nextAvailableSlot] = parkingSlot;
}
else
{
Console.WriteLine("No empty spots remain");
}
}
这是我的代码的一部分,允许用户输入所需的详细信息,然后将其存储起来。
static int FindSlot(string names)
{
int result = -1;
for (int index = 0; index < name.Length;index ++ )
{
if (name[index] == names)
{
result = index;
break;
}
else if(names == "" && name[index] == null)
{
result = index;
break;
}
}
return result;
这是我觉得应该补充的第一部分的延伸,因为我认为它可能会有所帮助。
static void ListCars()
{
for(int index= 0; index < name.Length; index ++)
{
if(name [index] != "" && name[index] != null)
Console.WriteLine(" name {0} car is parked in {1}", name[index], licensePlate[index]);
}
}
这段代码是的输出(我相信你们很多人都知道)
我会尝试一下,尽管我不确定我是否完全理解这个问题。我认为是这句话:
parkingSlot = Convert.ToString(licensePlate);
正如您所发现的,这样做的结果是System.String[]
,这不是您想要的。您已经通过拨打下一行的FindSlot
获得了下一个可用的插槽。我认为,如果我读对了代码,那么你真正想做的是将车牌存储在licensePlate
阵列中,所以只需使用用户输入的值即可,该值存储在licensePlateInput
:中
// Remove this line, as it servers no discernible purpose
//parkingSlot=Convert.ToString(licensePlate);
int nextAvailableSlot = FindSlot("");
if (nextAvailableSlot != -1)
{
name[nextAvailableSlot] = nameInput;
// Use the value the user gave for the license plate
licensePlate[nextAvailableSlot] = licensePlateInput;
}